 		@set event, callback, options
 
 	###
-	Removes any reference to the event type and callback, regardless of
-	Throttle or Debounce options.
+	Removes any reference to the event type and callback, regardless of Throttle
+	or Debounce options.
 
 	event - string - event name ('resize', 'scroll', etc)
 	callback - function

		@handlers[event].callbacks.push callback

	###
	Fires all events for a given window event type,
	padding the native event object through to the mediated callback

	e - Event - native event object
	###
	fire: (e) =>
		_.eachRight @handlers[e.type].callbacks, (cb) -> cb(e); true

module.exports = new WindowEventMediator()

	###
	Register an event handler with the mediator

	event - string - event name ('resize', 'scroll', etc) callback - function
	options
		throttle [100] - int - milliseconds to throttle
		debounce [100] - int - milliseconds to debounce
