 		initialFrame: CGRect,
 		renderer: Renderer,
 		placeholderRenderer: PlaceholderRenderer? = nil,
+		uiScheduler: SchedulerType = UIScheduler(),
 		imageCreationScheduler: SchedulerType = QueueScheduler())
 	{
 		(self.requestsSignal, self.requestsObserver) = Signal.pipe()

		super.init(frame: initialFrame)

		self.backgroundColor = nil

		let uiScheduler = UIScheduler()

		self.requestsSignal
			.skipRepeats()

				}
			})
			.observeOn(self.imageCreationScheduler)
			.flatMap(.Latest) { data -> SignalProducer<Renderer.RenderResult, NoError> in
				if let placeholderRenderer = placeholderRenderer {
					return placeholderRenderer
						.renderImageWithData(data)
