docs: function off(type, listener) {
      var me = this,
          events = me.events;
  
      events && each(type ? type.split(' ') : events, function(listeners, type) {
        var index;
        if (typeof listeners == 'string') {
          type = listeners;
          listeners = hasKey(events, type) && events[type];
        }
        if (listeners) {
          if (listener) {
            index = indexOf(listeners, listener);
            if (index > -1) {
              listeners.splice(index, 1);
            }
          } else {
            listeners.length = 0;
          }
        }
      });
      return me;
    }