Inheritance: Model.Controller
        public ApplicationController(
            IBindingFactory<MainController> mainControllerFactory,
            IOptionsManager optionsManager,
            IHostEnviromentConnection hostEnviroment,
            ISettingsManager settingsManager,
            IEventService eventService)
        {
            _optionsManager = optionsManager;
            _hostEnviroment = hostEnviroment;
            _settingsManager = settingsManager;
            _eventService = eventService;

            HookGlobalExceptionHandlers();

            _eventService.Subscribe(this);

            _mainController = mainControllerFactory.CreateWithBindings(_hostEnviroment.Events);
        }