             }
         }
 
-        public static func custom(identifier: String? = nil, _ configure: @escaping (Type) -> Void) -> Route {
-            return .init(identifier: identifier) { router -> RouteKind in
+        public static func custom(id: String? = nil, _ configure: @escaping (Type) -> Void) -> Route {
+            return .init(id: id) { router -> RouteKind in
                 configure(router)
                 return .custom
             }

                for route in routes {
                    guard case .viewController(let vc) = route.configure(router) else {
                        #if DEBUG
                        Console.log("Route \(route.identifier) contains custom route. This will lead to unexpected behavior. Please handle the use case separately.")
                        #endif
                        continue
                    }

    /// }
    /// ```
    public struct Route<Type: RouteHandler> {
        public var id: String
        public var configure: (Type) -> RouteKind

        public init(id: String? = nil, _ configure: @escaping ((Type) -> RouteKind)) {
            self.id = id ?? "___defaultId___"
            self.configure = configure
        }

        public init(id: String? = nil, _ configure: @escaping ((Type) -> UIViewController)) {
            self.id = id ?? "___defaultId___"
            self.configure = { router -> RouteKind in
                .viewController(configure(router))
            }
