private void RegisterDependencies()
        {
            // Register all dialog windows
            DialogService dialogService = new DialogService(MainWindow);

            dialogService.Register <UnitImportWindowViewModel, UnitImportWidow>();
            dialogService.Register <ConnectionWindowViewModel, ConnectionWindow>();
            dialogService.Register <SettingsWindowViewModel, SettingsWindow>();

            IoC.Container.Options.DefaultScopedLifestyle = new ThreadScopedLifestyle();

            // Register dependencies
            IoC.Container.Register <IDialogService>(() => dialogService, Lifestyle.Singleton);

            IoC.Container.Register <ApplicationViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <MainWindow>();
            IoC.Container.Register <MainWindowViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <SettingsWindow>(Lifestyle.Transient);
            IoC.Container.Register <SettingsWindowViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <UnitImportWidow>(Lifestyle.Transient);
            IoC.Container.Register <UnitImportWindowViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <ConnectionWindow>(Lifestyle.Transient);
            IoC.Container.Register <ConnectionWindowViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <BattleSimulatorView>(Lifestyle.Singleton);
            IoC.Container.Register <BattleSimulatorViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <AttackPlannerView>(Lifestyle.Singleton);
            IoC.Container.Register <AttackPlannerViewModel>(Lifestyle.Singleton);

            IoC.Container.Register <BattleInput>(Lifestyle.Singleton);
            IoC.Container.Register <BattleInputViewModel>(Lifestyle.Singleton);

            ApplicationCore.OnStartUp();



            IoC.Container.Verify(VerificationOption.VerifyAndDiagnose);
        }