     ///   - 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 service.
    /// - Returns: The service router.
    public static func perform<Destination>(
        to routableService: RoutableService<Destination>,
        configuring configure: @escaping (PerformRouteConfig, (@escaping (Destination) -> Void) -> Void, ((PerformRouteConfig) -> Void) -> Void) -> Void,
        removing removeConfigure: ((RouteConfig, ((RouteConfig) -> Void) -> Void) -> Void)? = nil

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