     
     typealias TransitionBlock = (UINavigationController, UIViewController) -> Void
     
+    /**
+        That method defines if previous view controller should load view controller from that transition. Default = false.
+    */
     func shouldPreloadViewController() -> Bool
-    func preloadViewController(_ viewController:UIViewController, from parentViewController:UIViewController)
+    
+    /**
+        That method invokes only if shouldPreloadViewController() returns true. It invokes right before presenting previous view controller.
+     
+        - Parameter viewController:         Current view controller to present.
+        - Parameter parentViewController:   Previous view controller. For exmaple if previous view controller is kind of UITabBarController you can use it to assign viewControllers.
+    */
+    func preloadViewController(_ viewController:UIViewController, from previousViewController:UIViewController)
+    
+    /**
+        That method invokes right before presenting view controller.
+    */
     func configureViewController(from viewController:UIViewController) -> UIViewController
+    
+    
+    /**
+        That method returns block which gonna be used to show view controller in it's navigation controller.
+    */
     func forwardTransitionBlock(animated:Bool, completionBlock:@escaping ()->()) -> TransitionBlock
     
 }

    
    typealias TransitionBlock = (UIViewController) -> Void
    
    func backwardTransitionBlock(animated:Bool, completionBlock:@escaping()->()) -> TransitionBlock
    
}

        return false
    }
    
    public func preloadViewController(_ viewController:UIViewController, from previousViewController:UIViewController)  {}

}

