 
 public struct RouteOptions {
     
-    public var openClass: Routable.Type?
+    public var openClass: UIViewController.Type?
     public var createCallback: RoutableCreateCallback?
     public var openCallback: RoutableOpenCallback?
     

    @param controllerClass The `UIViewController` `Class` which will be instanstiated when the URL is triggered in `open:`
    @param options Configuration for the route, such as modal settings
    */
    open func map(format: String, controllerClass: Routable.Type, options: RouteOptions? = nil) {
        var options: RouteOptions = options ?? RouteOptions()
        options.openClass = controllerClass
        self.routes[format] = options

public typealias RoutableOpenCallback = (_ params: RoutableParams) -> Void
public typealias RoutableCreateCallback = (_ params: RoutableParams) -> UIViewController?

//public protocol Routable {
//    var controllerParams:RoutableParams? { get set }
//    init(params:RoutableParams?)
//}
//
//public extension Routable where Self: UIViewController {
//    public init(params: RoutableParams?) {
//        self.init(nibName: nil, bundle: nil)
//        self.controllerParams = params
//    }
//}

public struct RouteParams {
    public let routeOptions : RouteOptions?
