         Kitchen.navigationController.delegate = sharedKitchen
         Kitchen.didRedirectToWindow = didRedirectToWindow
         Kitchen.redirectWindow = redirectWindow
+        kitchenWindowWillBecomeVisible?()
         Kitchen.serve(urlString: urlString, type: type)
         Kitchen.window.makeKeyAndVisible()
     }

        Kitchen.navigationController.delegate = sharedKitchen
        Kitchen.didRedirectToWindow = didRedirectToWindow
        Kitchen.redirectWindow = redirectWindow
        Kitchen.serve(xmlString: xmlString, type: type)
        Kitchen.window.makeKeyAndVisible()
    }

    /// - Note: **BETA API** This API is subject to change.
    public static func serve(urlString urlString: String,
       type: PresentationType = .Default, redirectWindow: UIWindow,
       kitchenWindowWillBecomeVisible: (() -> ())? = nil,
       didRedirectToWindow: (() -> ())? = nil)
    {
        Kitchen._navigationControllerDelegateWillShowCount = 0
