     
     /// Default service path
     var servicePath: String { get }
-
+    
     /// Builds a service query path with our version and default root path
     ///
     /// - Parameter query: the query to build
     /// - Returns: a compose query with the baseURL, service version and service path included
-    func servicePath(for query: String) -> String
+    func servicePath(for query: String, withBaseUrlOverride overrideURL: String?) -> String
     
     /// True if our auth token is valid
     var isAuthenticated: Bool { get }

        self.token = token
        self.networkManager = networkManager
    }

    /// Currently supported version of the service
    open var serviceVersion: String {
        return ""
    }

    /// Name here your service path
    open var servicePath: String {
        return ""
    }

    /// Returns the baseURL for this service, default is the current configuration URL
    open var baseURL: String {
        return currentConfiguration.baseURL
    }

    /// Returns a local path for an API request, this includes the service version and name. i.e v4/accounts/user_profile
    ///
    /// - Parameter query: api local path
    /// - Returns: local path to the api for the given query
    open func servicePath(for query: String) -> String {
        var fullPath = self.baseURL
        if (!self.servicePath.isEmpty) {
            fullPath += "/" + self.servicePath
        }

                              stubs: self.stubs,
                              success: success,
                              failure: { error in
                                if error.hasTokenExpired && self.isAuthenticated {
                                    //If our error response was because our token expired, then lets tell the delegate
                                    ServiceLocator.shared.delegate?.authenticationTokenDidExpire()
                                }
                                failure(error)
        })
    }
    
}
