         uiScheduler: ReactiveSwift.Scheduler,
         imageCreationScheduler: ReactiveSwift.Scheduler) {
 
-        requestsSignal
+        self.disposable = requestsSignal
             .skipRepeats(==)
             .observe(on: uiScheduler)
             .on(value: { [weak self] in

Renderer.RenderResult == PlaceholderRenderer.RenderResult {
    @Published
    private(set) var renderResult: Renderer.RenderResult?
    
    init(
        requestsSignal: Signal<Data?, Never>,
        renderer: Renderer,

            self?.renderResult = $0
        }
    }

    deinit {
        self.disposable?.dispose()
    }

    private func resetImage() {
        // Avoid displaying a stale image.
        renderResult = nil
