public AbstractState TryTransition(string stateValue)
            {
                AbstractState nextState = _currentState.DoTransition(stateValue);

                if (nextState != null)
                {
                    _currentState = nextState;
                    return(CurrentState);
                }
                else
                {
                    return(Forbidden);
                }
            }