         }
         return navigationController
     }
-    
+
+    /**
+     * Used when you need a navigation controller embedded inside a controller that is already inside a navigation controller and is supposed to have a close button.
+     */
     public func branchNavigation<S, T>(controller: ControllerBase<S, T>) -> UINavigationController {
         let closeButtonTitle = controller.configuration.get(valueFor: Properties.closeButtonTitle)
         return branchNavigation(controller: controller, closeButtonTitle: closeButtonTitle)

}

extension Wireframe {
    
    public func create<T>(factory: (FutureControllerProvider<T>) -> T) -> T {
        let futureControllerProvider = FutureControllerProvider<T>()
        let controller = factory(futureControllerProvider)

        return controller
    }

    /**
     * Used when you need a navigation controller embedded inside a controller that is already inside a navigation controller and is supposed to have a close button.
     */
    public func branchNavigation(controller: UIViewController, closeButtonTitle: String?) -> UINavigationController {
        let navigationController = UINavigationController(rootViewController: controller)
        if let closeButtonTitle = closeButtonTitle {
