                         self?.reactiveState.value = .ready
                         
                         self?.applicationDelegates?.forEach { ad in
-                            ad.applicationDidFinishLoadingWindow?(application)
+                            ad.application?(application, didFinishLoading: window)
                         }
                         
                         disposable.dispose()


@objc public protocol ApplicationDelegate: UIApplicationDelegate {
    
    @objc optional func applicationDidFinishLoadingWindow(_ application: UIApplication)
}

open class ApplicationController: UIResponder {

    public let reactiveState = MutableProperty<ReactiveState>(.loading)
}

extension ApplicationController: UIApplicationDelegate {
    
    open func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
        
