Added getNextGameState to the GameState interface, each state now has the responsibility of deciding what the next state is, this is backend change to the game