     
     public func loadPhoto(_ photo: AXPhotoProtocol) {
         if photo.imageData != nil || photo.image != nil {
-            self.delegate?.networkIntegration(self, loadDidFinishWith: photo)
+            AXDispatchUtils.executeInBackground { [weak self] in
+                guard let `self` = self else {
+                    return
+                }
+                
+                self.delegate?.networkIntegration(self, loadDidFinishWith: photo)
+            }
             return
         }
         

        }
        
        removeDataTask()
        self.delegate?.networkIntegration(self, loadDidFinishWith: photo)
    }

}

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