 		return NSError(domain: "RACAction", code: 1, userInfo: nil)
 	}
 
+	let _scheduler: Scheduler
 	let _execute: I -> Promise<Result<O>>
 	let _executions = SignalingProperty<ExecutionSignal?>(nil)
 


	/// Initializes an action that will be conditionally enabled, and create
	/// a Promise for each execution.
	init(enabledIf: Signal<Bool>, execute: I -> Promise<Result<O>>) {
		_execute = execute

		enabled = .constant(true)
		enabled = enabledIf

	func execute(input: I) -> ExecutionSignal {
		let results = SignalingProperty<Result<O>?>(nil)

		_scheduler.schedule {
			if (!self.enabled.current) {
				results.value = Result.Error(self.notEnabledError)
				return
