         }
 
     // Runs on a background queue
-    private func cacheLookup(using stagesAndEntries: [StageAndEntry]) -> Entity<Any>?
+    private static func cacheLookup(using stagesAndEntries: [StageAndEntry]) -> Entity<Any>?
         {
         for (index, (_, cacheEntry)) in stagesAndEntries.enumerated().reversed()
             {


        defaultEntityCacheWorkQueue.async
            {
            if let entity = self.cacheLookup(using: stagesAndEntries)
                {
                DispatchQueue.main.async
                    { onHit(entity) }

        // Return deferred processor to run on background queue
        return
            {
            let result = Pipeline.processAndCache(rawResponse, using: stagesAndEntries)

            debugLog(.pipeline,       ["  └╴Response after pipeline:", result.summary()])
            debugLog(.networkDetails, ["    Details:", result.dump("      ")])
