code: function _unbind(events, handler) {
      var i,
          i_end,
          j,
          j_end,
          a,
          event,
          eArray = Array.isArray(events) ?
                     events :
                     events.split(/ /);
  
      if (!arguments.length)
        _handlers = Object.create(null);
      else if (handler) {
        for (i = 0, i_end = eArray.length; i !== i_end; i += 1) {
          event = eArray[i];
          if (_handlers[event]) {
            a = [];
            for (j = 0, j_end = _handlers[event].length; j !== j_end; j += 1)
              if (_handlers[event][j].handler !== handler)
                a.push(_handlers[event][j]);
  
            _handlers[event] = a;
          }
  
          if (_handlers[event] && _handlers[event].length === 0)
            delete _handlers[event];
        }
      } else
        for (i = 0, i_end = eArray.length; i !== i_end; i += 1)
          delete _handlers[eArray[i]];
    }
docs: Removes the handler from a specified event (or specified events).
  
  @param  {?string}           events  The name of the event (or the events
  separated by spaces). If undefined,
  then all handlers are removed.
  @param  {?function(Object)} handler The handler to unbind. If undefined,
  each handler bound to the event or the
  events will be removed.
  @return {Object}            Returns conrad.