 		self.init(DISPATCH_QUEUE_PRIORITY_DEFAULT)
 	}
 	
-	func schedule(work: () -> ()) -> Disposable? {
+	func schedule(action: () -> ()) -> Disposable? {
 		let d = SimpleDisposable()
 	
 		dispatch_async(_queue, {

				return
			}
			
			_asCurrentScheduler(self, work)
		})
		
		return d
	}
}

		action()
		return nil
	}

	func scheduleAfter(date: NSDate, action: () -> ()) -> Disposable? {
		NSThread.sleepUntilDate(date)
		return schedule(action)
	}
}

/// A scheduler that performs all work on the main thread.
struct MainScheduler: RepeatableScheduler {
	let _innerScheduler = QueueScheduler(dispatch_get_main_queue())

	func schedule(action: () -> ()) -> Disposable? {
		return _innerScheduler.schedule(action)
	}

	func scheduleAfter(date: NSDate, action: () -> ()) -> Disposable? {
		return _innerScheduler.scheduleAfter(date, action: action)
	}

	func scheduleAfter(date: NSDate, repeatingEvery: NSTimeInterval, withLeeway: NSTimeInterval, action: () -> ()) -> Disposable? {
		return _innerScheduler.scheduleAfter(date, repeatingEvery: repeatingEvery, withLeeway: withLeeway, action: action)
	}
}

