Initial thoughts for gamestate interfaces and new classes