protected virtual void ChangeState(TStateType state) { var stateBehaviour = _stateFactory.Create(state); _stateMachine.Execute(stateBehaviour); }