         }
         
         if let error = error {
-            self.delegate?.networkIntegration(self, loadDidFailWith: error, for: photo)
             removeDataTask()
+            AXDispatchUtils.executeInBackground { [weak self] in
+                guard let `self` = self else {
+                    return
+                }
+                
+                self.delegate?.networkIntegration(self, loadDidFailWith: error, for: photo)
+            }
             return
         }
         

    
    public func loadPhoto(_ photo: AXPhotoProtocol) {
        if photo.imageData != nil || photo.image != nil {
            self.delegate?.networkIntegration(self, loadDidFinishWith: photo)
            return
        }
        

        }
        
        removeDataTask()
        AXDispatchUtils.executeInBackground { [weak self] in
            guard let `self` = self else {
                return
            }
            
            self.delegate?.networkIntegration(self, loadDidFinishWith: photo)
        }
    }

}
