docs: function listens(pw, type, listener, remove) {
      for (var i = 0, ls = PulseEmitter.super_.prototype.listeners.call(pw, type), l = ls.length, lu = typeof listener === 'undefined'; i < l; i++) {
          if (remove && ls[i]._callback === listener) return PulseEmitter.super_.prototype.removeListener.call(pw, type, ls[i]);
          else if (remove && lu && ls[i]._cbtype !== catType) PulseEmitter.super_.prototype.removeListener.call(pw, type, ls[i]);
          else if (!remove && ls[i]._callback) ls.splice(i, 1, ls[i]._cbtype === catType ? undefined : ls[i]._callback);
      }
      return remove ? pw : ls;
  }