code: function modelOrCollectionEventHandler(type, identifier, context, eventFormat, callback) {
          var keys = identifier;
          if (_.isString(keys)) {
              keys = ensureArray(context.props[keys]);
          }
  
          var isArray = _.isArray(keys);
          _.each(keys, function(value, key) {
              if (isArray) {
                  key = value;
                  value = undefined;
              }
              var eventName;
              if (_.isString(eventFormat)) {
                  eventName = eventFormat.replace('{key}', key);
              } else {
                  eventName = eventFormat(key);
              }
              context[type + CAP_ON](eventName, _.bind(callback, { key: key, value: value }), this);
          }, this);
          // we would have missed this with _.each
          if (!keys && _.isFunction(eventFormat)) {
              var eventName = eventFormat(undefined);
              if (eventName) {
                  context[type + CAP_ON](eventName, _.bind(callback, {}), this);
              }
          }
          return keys;
      }
docs: Utility method used to handle model/collection events