The code for changing the game mode seems a bit fragile at the moment.

Would it be a good idea to move the initialization of a new state out of the UpdateAndRender methods and have these methods return the new state to transition to instead?

/Kim