Добрый вечер!
Как известно, я выбрал подход MVC для своей игры и пока не жалуюсь. Но за те два года, что я занимаюсь, я писал исключительно то, что называется core gameplay, т.е. взаимодействия с NPC: общение, сражения и т.п. и не заморачивался менюшками и прочими рюшками.
Сейчас пришло время добавить главное меню, журналы персонажей и квестов и что ещё полагается для интерфейса. И я напрочь забыл, как это делать с т.з. правильной иерархии.
Что я имею сегодня. Класс Main запускает контроллер, который выглядит вот так:

Код AS3:
public function Game (host: MainView) : void
{
_host = host;
_model = new GameModel (foregroundCharactes);
_view = new GameView (_model, _host);
_host.addChild(_view);
_model.init();
_view.addEventListener(ViewEventTypes.MENU_SELECT, menuCommandHandler); // Подписываемся на выбор меню
}
То есть сразу после запуска приложения игрок сразу попадает в режим сражения: выбирает действия, получает обратную связь.
Я сверстал верхнее горизонтальное меню, где разместил кнопку главного меню. Если среди опций есть такие, которые влияют на Модель (например, опция "завершить игру"), значит её нужно слушать не в игровом контроллере, а в более высоком по иерархии объекте, который имеет власть над последним.
Напомните, пожалуйста, как это правильно сделать. Спасибо.