     ///   - source: Source UIViewController or UIView. See ZIKViewRouteConfiguration's source.
     ///   - routeType: Transition type.
     /// - Returns: The view router.
-    public static func perform<Module>(
+    @discardableResult public static func perform<Module>(
         to routableViewModule: RoutableViewModule<Module>,
         from source: ZIKViewRouteSource?,
         routeType: ViewRouteType) -> ViewRouter<Any, Module>? {

    ///     - prepareModule: Prepare custom moudle config.
    ///   - removeConfigure: Configure the configuration for removing view.
    /// - Returns: The view router.
    public static func perform<Module>(
        to routableViewModule: RoutableViewModule<Module>,
        from source: ZIKViewRouteSource?,
        configuring configure: @escaping (ViewRouteConfig, (@escaping (Any) -> Void) -> Void, ((Module) -> Void) -> Void) -> Void,

    ///     - prepareModule: Prepare custom moudle config.
    ///   - removeConfigure: Configure the configuration for removing service.
    /// - Returns: The service router.
    @discardableResult public static func perform<Module>(
        to routableServiceModule: RoutableServiceModule<Module>,
        configuring configure: @escaping (PerformRouteConfig, (@escaping (Any) -> Void) -> Void, ((Module) -> Void) -> Void) -> Void,
        removing removeConfigure: ((RouteConfig, ((RouteConfig) -> Void) -> Void) -> Void)? = nil
