react-events.js
function(identifier, optionsOrHandler) {
            if (typeof optionsOrHandler !== 'function') {
                // it's options
                optionsOrHandler = handlerTemplates[optionsOrHandler.type || 'standard'](optionsOrHandler);
            }
            if (identifier instanceof RegExp) {
                patternHandlers.push({
                    pattern: identifier,
                    handler: optionsOrHandler
                });
            } else {
                handlers[identifier] = optionsOrHandler;
            }
        }
function(identifier, optionsOrHandler) {
            if (typeof optionsOrHandler !== 'function') {
                // it's options
                optionsOrHandler = handlerTemplates[optionsOrHandler.type || 'standard'](optionsOrHandler);
            }
            if (identifier instanceof RegExp) {
                patternHandlers.push({
                    pattern: identifier,
                    handler: optionsOrHandler
                });
            } else {
                handlers[identifier] = optionsOrHandler;
            }
        }
function ( identifier , optionsOrHandler ) { if ( typeof optionsOrHandler !== 'function' ) { // it's options optionsOrHandler = handlerTemplates [ optionsOrHandler . type || 'standard' ] ( optionsOrHandler ) ; } if ( identifier instanceof RegExp ) { patternHandlers . push ( { pattern : identifier , handler : optionsOrHandler } ) ; } else { handlers [ identifier ] = optionsOrHandler ; } }
Register an event handler
@param identifier {string} the event type (first part of event definition)
@param handlerOrOptions {function(options, callback) *OR* options object}

handlerOrOptions as function(options, callback) a function which returns the object used as the event handler.
@param options {object}: will contain a *path* attribute - the event key (without the handler key prefix).
if the custom handler was registered as "foo" and events hash was { "foo:abc": "..." }, the path is "abc"
@param callback {function}: the callback function to be bound to the event

handlerOrOptions as options: will use a predefined "standard" handler;  this assumes the event format of "{handler identifier}:{target identifier}:{event name}"
@param target {object or function(targetIdentifier, eventName)} the target to bind/unbind from or the functions which retuns this target
@param onKey {string} the attribute which identifies the event binding function on the target (default is "on")
@param offKey {string} the attribute which identifies the event un-binding function on the target (default is "off")
Register an event handler @param identifier { string } the event type ( first part of event definition ) @param handlerOrOptions { function ( options callback ) * OR * options object }