     /**
     The property determining if the mapped `UIViewController` should be opened modally or pushed in the navigation stack.
     */
-    var isModal : Bool = false
+    public var isModal : Bool = false
     
     /**
     The property determining the `UIModalPresentationStyle` assigned to the mapped `UIViewController` instance. This is always assigned, regardless of whether or not `modal` is true.
     */
-    var presentationStyle : UIModalPresentationStyle = UIModalPresentationStyle.none
+    public var presentationStyle : UIModalPresentationStyle = UIModalPresentationStyle.none
     
     /**
     The property determining the `UIModalTransitionStyle` assigned to the mapped `UIViewController` instance. This is always assigned, regardless of whether or not `modal` is true.
     */
-    var transitionStyle : UIModalTransitionStyle = UIModalTransitionStyle.coverVertical
+    public var transitionStyle : UIModalTransitionStyle = UIModalTransitionStyle.coverVertical
     /**
     Default parameters sent to the `UIViewController`'s initWithRouteParams: method. This is useful if you want to pass some non-`NSString` information. These parameters will be overwritten by any parameters passed in the URL in open:.
     */
-    var defaultParams : RoutableParams?
+    public var defaultParams : RoutableParams?
     
     /**
     The property determining if the mapped `UIViewController` instance should be set as the root view controller of the router's `UINavigationController` instance.
     */
-    var shouldOpenAsRootViewController : Bool = false
-    
-}
-
-class Router {
+    public var shouldOpenAsRootViewController : Bool = false
+    
+}
+
+open class Router {
     
     static let shared = Router()
     

        }
    }
    
    init(routerOptions: RouteOptions, openParams: RoutableParams?, extraParams: RoutableParams?) {
        self.routeOptions = routerOptions
        self.openParams = openParams
        self.extraParams = extraParams

    Pop to the last `UIViewController` mapped with the router; this will either dismiss the presented `UIViewController` (i.e. modal) or pop the top view  controller in the navigationController.
    @param animated Whether or not the transition is animated;
    */
    open func popViewControllerFromRouterAnimated(animated: Bool) {
        if let navController = self.navigationController {
            if navController.presentedViewController != nil {
                navController.dismiss(animated: animated)
