public IState <T> AddState(T id, OnSyncEnterCallback <T> onEnterCB, OnAsyncExitCallback <T> onExitCB)
        {
            UniTask OnEnter(T from)
            {
                onEnterCB(from); return(UniTask.CompletedTask);
            }

            State <T> state = new State <T>(id, OnEnter, onExitCB);

            AddState(id, state);
            return(state);
        }
 public IState <T> AddState(T id, OnSyncEnterCallback <T> onEnterCB, OnSyncExitCallback <T> onExitCB)
 {
     return(AddStateWithCallbacks(id, onEnterCB, onExitCB));
 }