public static FsmStateConfig <TState, TEvent> OnEnter <TState, TEvent>(this FsmStateConfig <TState, TEvent> cfg,
                                                                        Action <FsmEnterArgs <TState, TEvent> > action)
 {
     return(cfg.OnEnter(x => { action(x); return FrameworkExt.CompletedTask; }));
 }
 public static FsmStateConfig <TState, TEvent> Enable <TState, TEvent>(this FsmStateConfig <TState, TEvent> cfg,
                                                                       Func <FsmEnterArgs <TState, TEvent>, bool> fn)
 {
     return(cfg.Enable(x => Task.FromResult(fn(x))));
 }