             return .failed
         }
     }
+    
+    private class func cache(task: Task?, forID identifier: String) {
+        _cachedTasksSafetyQueue.async(flags: .barrier) {
+            _cachedTasks[identifier] = task
+        }
+    }
 }

        guard currentState == .notStarted else { return }
        
        // Retain ourself and cache for retrieval later
        Task._cachedTasks[identifier] = self
        
        // Ensure we actually have work to do, fail otherwise
        guard let work = _workToDo else {

    private var _retryConfig: TaskRetryHelper?
    
    static private var _cachedTasks = Dictionary<String, Task>()
    static private let _cachedTasksSafetyQueue = DispatchQueue(label: "YakkaTaskCacheSafety", attributes: .concurrent)
    
    
    
