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

		// Turn the callback into a callback that will remove itself after getting execute.
		var removeEvent = function() { underscore.off(obj, event, callback); };
		callback = underscore.compose(removeEvent, callback);

		// Register the self-removing callback normally.
		this.on(obj, event, callback);
	}
function(obj, event, callback) {
		// Use jQuery to handle DOM events.
		if(underscore.isElement(obj) && $){return $(obj).one(event, callback); }

		// Turn the callback into a callback that will remove itself after getting execute.
		var removeEvent = function() { underscore.off(obj, event, callback); };
		callback = underscore.compose(removeEvent, callback);

		// Register the self-removing callback normally.
		this.on(obj, event, callback);
	}
### once*([object, ]event, callback)* Register a function that will be called a single time when the event is published.