public AbstractState TryTransition(string stateValue) { AbstractState nextState = _currentState.DoTransition(stateValue); if (nextState != null) { _currentState = nextState; return(CurrentState); } else { return(Forbidden); } }