docs: function (name, cb) {
      var i, j, cbs=this._callbacks[name], jsTemp=[];
  
      /* I'm not sure if this is necessary; in C++, iterating over a
       * collection and modifying it at the same time is a no-no.
       */
  
      for (j in cbs) {
        if (cbs.hasOwnProperty(j) && cbs[j] === cb) {
          jsTemp.push(j);
        }
      }
  
      for (i=0; i<jsTemp.length; i++) {
        j = jsTemp[i];
        delete cbs[j];
      }
    }