code: function(type, data) {
  
  			var handlers,
  				i,
  				len,
  				event = {
  					type: type,
  					data: data
  				};
  
  			// if there are handlers for the event, call them in order
  			handlers = this._handlers[event.type];
  			if (handlers instanceof Array) {
  				// @NOTE: do a concat() here to create a copy of the handlers array,
  				// so that if another handler is removed of the same type, it doesn't
  				// interfere with the handlers array during this loop
  				handlers = handlers.concat();
  				for (i = 0, len = handlers.length; i < len; i++) {
  					handlers[i].call(this, event);
  				}
  			}
  		}
docs: Fires an event with the given name and data.
  @param {string} type The type of event to fire.
  @param {Object} [data] An object with properties that should end up on
  the event object for the given event.
  @returns {void}