code: function(events) {
        events = events || Parse._getValue(this, 'events');
        if (!events) {
          return;
        }
        this.undelegateEvents();
        var self = this;
        Parse._objectEach(events, function(method, key) {
          if (!_.isFunction(method)) {
            method = self[events[key]];
          }
          if (!method) {
            throw new Error('Event "' + events[key] + '" does not exist');
          }
          var match = key.match(eventSplitter);
          var eventName = match[1], selector = match[2];
          method = _.bind(method, self);
          eventName += '.delegateEvents' + self.cid;
          if (selector === '') {
            self.$el.bind(eventName, method);
          } else {
            self.$el.delegate(selector, eventName, method);
          }
        });
      }
docs: Set callbacks.  <code>this.events</code> is a hash of
  <pre>
  *{"event selector": "callback"}*
  
  {
  'mousedown .title':  'edit',
  'click .button':     'save'
  'click .open':       function(e) { ... }
  }
  </pre>
  pairs. Callbacks will be bound to the view, with `this` set properly.
  Uses event delegation for efficiency.
  Omitting the selector binds the event to `this.el`.
  This only works for delegate-able events: not `focus`, `blur`, and
  not `change`, `submit`, and `reset` in Internet Explorer.