public void ChangeState(iState <T> newState) { if (currentState != null) { currentState.ExitState(owner); } currentState = newState; currentState.EnterState(owner); }