public Game() { IMessageBus messageBus = new MessageBus(); IModelRegister register = new ModelRegister(); register.RegisterModel(new PlayerModel(messageBus)); register.RegisterModel(new EnemyModel(messageBus)); IController controller = new Controller(register); _viewManager = new ViewManager(controller, messageBus); _viewManager.RegisterView(new PlayerViewMediator()); _viewManager.RegisterView(new EnemyViewMediator()); messageBus.AddEventListener <GameEndEvent>(OnGameEnd); controller.RunCommand(new GameStartCmd()); Run(); }