         
         removeSchemeTask(urlSchemeTask: urlSchemeTask)
         
-        guard let task = self.activeSessionTasks[urlSchemeTask.request] else {
+        guard let task = activeSessionTasks[urlSchemeTask.request] else {
             return
         }
         

        
        switch baseComponent {
        case FileHandler.basePath:
            self.fileHandler.handle(pathComponents: pathComponents, requestURL: requestURL, completion: localCompletionBlock)
        case ArticleSectionHandler.basePath:
            self.articleSectionHandler.handle(pathComponents: pathComponents, requestURL: requestURL, completion: localCompletionBlock)
        case APIHandler.basePath:
            guard let apiURL = self.apiHandler.urlForPathComponents(pathComponents, requestURL: requestURL) else {
                 urlSchemeTask.didFailWithError(SchemeHandlerError.invalidParameters)
                return
            }
            self.kickOffDataTask(handler: self.apiHandler, url: apiURL, urlSchemeTask: urlSchemeTask)
        default:
            guard let defaultURL = self.defaultHandler.urlForPathComponents(pathComponents, requestURL: requestURL) else {
                urlSchemeTask.didFailWithError(SchemeHandlerError.invalidParameters)
                self.removeSchemeTask(urlSchemeTask: urlSchemeTask)
                return
            }
            DispatchQueue.global(qos: .userInitiated).async {


private extension SchemeHandler {
    func kickOffDataTask(handler: RemoteSubHandler, url: URL, urlSchemeTask: WKURLSchemeTask) {
        guard schemeTaskIsActive(urlSchemeTask: urlSchemeTask) else {
            return
        }
        
