public void PopState()
        {
            if (StateStack.Count > 0)
            {
                StateStack.RemoveAt(0);
            }

            if (StateStack.Count > 0)
            {
                var state = StateStack.ElementAt(0);
                NextState = state;
                NextState.OnEnter();
            }
        }