code: function(ev, model, collection, options) {
        if ((ev == 'add' || ev == 'remove') && collection != this) return;
        if (ev == 'destroy') {
          this._remove(model, options);
        }
        if (model && ev === 'change:' + model.idAttribute) {
          delete this._byId[model.previous(model.idAttribute)];
          this._byId[model.id] = model;
        }
        this.trigger.apply(this, arguments);
      }
docs: Internal method called every time a model in the set fires an event. Sets need to update their indexes when models change ids. All other events simply proxy through. "add" and "remove" events that originate in other collections are ignored.