code: function(obj, events, args) {
      var ev, i = -1, l = events.length;
      switch (args.length) {
      case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx);
      return;
      case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0]);
      return;
      case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1]);
      return;
      case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1], args[2]);
      return;
      default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);
      }
    }
docs: Optimized internal dispatch function for triggering events. Tries to keep the usual cases speedy (most Backbone events have 3 arguments).