     public var pipeline: ImagePipeline = .shared
 
     /// Image processors to be applied unless the processors are provided in the request.
-    public var processors: [ImageProcessing] = []
-
-    private var task: ImageTask?
+    /// `nil` by default.
+    public var processors: [ImageProcessing]?
+
+    private var imageTask: ImageTask?
 
     // publisher support
     private var lastResponse: ImageResponse?

    @Published public private(set) var progress = Progress(completed: 0, total: 0)

    /// Updates the priority of the task, even if the task is already running.
    public var priority: ImageRequest.Priority = .normal {
        didSet { task?.priority = priority }
    }

    /// Gets called when the request is started.

        reset()

        guard let publisher = publisher else {
            handle(result: .failure(.dataLoadingFailed(URLError(.unknown))), isSync: true)
            return
        }

