     ///     - config: Config for removing view route.
     ///     - prepareDestination: Prepare destination before removing route.
     /// - Returns: The view router.
-    public static func perform<Destination>(
+    @discardableResult public static func perform<Destination>(
         to routableView: RoutableView<Destination>,
         from source: ZIKViewRouteSource?,
         configuring configure: @escaping (ViewRouteConfig, (@escaping (Destination) -> Void) -> Void, ((ViewRouteConfig) -> Void) -> Void) -> Void,

    ///     - prepareModule: Prepare custom moudle config.
    ///   - removeConfigure: Configure the configuration for removing service.
    /// - Returns: The service router.
    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

    ///     - prepareModule: Prepare custom moudle config.
    ///   - removeConfigure: Configure the configuration for removing service.
    /// - Returns: The service router.
    @discardableResult 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
