     public override func viewWillLayoutSubviews() {
         self.currentRootViewController?.view.frame = self.view.bounds
     }
+    
+    public override func childViewControllerForStatusBarStyle() -> UIViewController? {
+        return installedViewController
+    }
+    
+    public override func childViewControllerForStatusBarHidden() -> UIViewController? {
+        return installedViewController
+    }
 }

public class AppViewController: UIViewController {
    
    /// Returns the view controller that is currently installed.
    public var installedViewController: UIViewController? {
        return self.currentRootViewController
    }
    
    private var currentRootViewController: UIViewController?
    
    /**
     Transitions from the currently installed view controller to the specified view controller. If no view controller is installed, then this method simply loads the specified view controller.
     
     - parameter toViewController: The view controller to transition to.
     - parameter animated: true if the transition should be animated, false otherwise.
     - parameter completion: A block to be executed after the transition completes.

            toViewController.didMoveToParentViewController(self)
            
            // set the current view controller
            currentRootViewController = toViewController
            
            // update status bar appearance
            setNeedsStatusBarAppearanceUpdate()
            
            // completion handler
            completion?()
