     ///
     /// - Parameter viewProtocol: The view protocol conformed by the view registered with a view router. Support objc protocol and pure Swift protocol.
     /// - Returns: The view router class for the view protocol.
-    public static func forView(_ viewProtocol:Any.Type) -> DefaultViewRouter.Type? {
+    public static func router(forView viewProtocol:Any.Type) -> DefaultViewRouter.Type? {
         var routerClass = viewProtocolContainer[_RouteKey(type:viewProtocol)]
         if routerClass == nil && ZIKRouter_isObjcProtocol(viewProtocol) {
             routerClass = _swift_ZIKViewRouterForView(viewProtocol) as? ZIKViewRouter.Type

        preparation prepare: ((Module) -> Swift.Void)? = nil
        ) -> Any? {
        var destination: Any?
        let routerClass = Registry.forViewModule(configProtocol)
        assert((routerClass?.completeSynchronously())!,"router class (\(String(describing: routerClass))) can't get destination synchronously")
        routerClass?.perform(configure: { config in
            config.routeType = ViewRouteType.getDestination

        routeConfig configure: (ServiceRouteConfig) -> Swift.Void,
        preparation prepare: ((Module) -> Swift.Void)? = nil
        ) -> DefaultServiceRouter? {
        return Registry.router(forServiceModule: configProtocol)?.perform(configure: { config in
            configure(config)
            if let configuration = config as? Module {
                prepare?(configuration)
