                 case .authorized:
                     self.findScreenshot()
                 case .denied, .notDetermined, .restricted:
-                    self.fail(.unauthorized(status: authorizationStatus))
+                    self.fail(with: .unauthorized(status: authorizationStatus))
                 }
             }
         }
     }
     
     private func findScreenshot() {
-        guard let screenshot = PHAsset.fetchLastScreenshot() else { fail(.fetchFailure); return }
+        guard let screenshot = PHAsset.fetchLastScreenshot() else { fail(with: .fetchFailure); return }
         
         imageManager.requestImage(for: screenshot,
             targetSize: PHImageManagerMaximumSize,

            options: PHImageRequestOptions.highQualitySynchronousLocalOptions()) { [weak self] image, info in
            OperationQueue.main().addOperation {
                guard let strongSelf = self else { return }
                guard let image = image else { strongSelf.fail(.loadFailure); return }
                
                strongSelf.succeed(with: image)
            }

        delegate?.screenshotDetector(self, didDetectScreenshot: image)
    }
    
    private func fail(with error: Error) {
        delegate?.screenshotDetector(self, didFailWithError: error)
    }
}
