code: function emit(name, args, thisArg, delay) {
          var list = eventHandlers[name];
          if ( list ) {
              thisArg || (thisArg = this);
              if ( args ) {
                  args = args.slice(); // make a copy
                  args.unshift(name);
              }
              else {
                  args = [name];
              }
              _.each(list, function (hdl, idx) {
                  // var _args = args.slice();
                  delay > -1
                      ? setTimeout(function () {
                          hdl.apply(thisArg, args);
                        }, delay)
                      : hdl.apply(thisArg, args)
                  ;
              });
          }
          return this;
      }
docs: ------------------------------------------------------------------------- 
  Emit an event - used internally.
  @private