         (self as SendEventProtocol)._send(event, task)
     }
 
+    // Deprecated in 10.0.0
     @available(*, deprecated, message: "Please use ImagePipelineDelegate")
     func _send(_ event: ImageTaskEvent, _ task: ImageTask) {
         observer?.pipeline(self, imageTask: task, didReceiveEvent: event)

        self.init(configuration: configuration, delegate: delegate)
    }

    /// Invalidates the pipeline and cancels all outstanding tasks.
    func invalidate() {
        queue.async {
            guard !self.isInvalidated else { return }


    /// Loads an image for the given request.
    ///
    /// See [Nuke Docs](https://kean.blog/nuke/guides/image-pipeline) to learn more.
    ///
    /// - parameter request: An image request.
    /// - parameter queue: A queue on which to execute `progress` and `completion`
    /// callbacks. By default, the pipeline uses `.main` queue.
    /// - parameter progress: A closure to be called periodically on the main thread
