public static DialogWindow Show(IStagedSetupWizard setupWizard, bool advanceToIncompleteStage = false)
        {
            var type = setupWizard.GetType();

            var wizardWindow = new StagedSetupWindow(setupWizard);

            wizardWindow.Closed += (s, e) => allWindows.Remove(type);
            allWindows[type]     = wizardWindow;

            wizardWindow.Size = setupWizard.WindowSize;

            var homePage = setupWizard.HomePageGenerator();

            SetSizeAndShow(wizardWindow, homePage);

            if (advanceToIncompleteStage)
            {
                wizardWindow.NextIncompleteStage();
            }
            else
            {
                wizardWindow.ChangeToPage(homePage);
            }

            return(wizardWindow);
        }