lib/superscore.js
function(obj, event, args) {
		// Use jQuery to handle DOM events.
		if(underscore.isElement(obj) && $){return $(obj).trigger(event, args); }

		// Use internal handler for pubsub
		if(this.isString(obj)) {args = event; event = obj; obj = this; }

		// If there aren't any handlers for this event, don't do anything.
		if(this.isObject(obj.__event_handlers) && event in obj.__event_handlers) {
			obj.__event_handlers[event].fireWith(obj, args);
		}
		return this;
	}
function(obj, event, args) {
		// Use jQuery to handle DOM events.
		if(underscore.isElement(obj) && $){return $(obj).trigger(event, args); }

		// Use internal handler for pubsub
		if(this.isString(obj)) {args = event; event = obj; obj = this; }

		// If there aren't any handlers for this event, don't do anything.
		if(this.isObject(obj.__event_handlers) && event in obj.__event_handlers) {
			obj.__event_handlers[event].fireWith(obj, args);
		}
		return this;
	}
### trigger*([object, ]event, args)* Publish an event, passing args to each function registered. Each callback will be executed with `obj` as their `this` context.