docs: function (iterator) {
      var self = this;
  
      // Invoking bindEnvironment'd callbacks outside of a Fiber in Node doesn't
      // run them to completion (and exceptions thrown from onException are not
      // propagated), so we need to be in a Fiber.
      Meteor._nodeCodeMustBeInFiber();
  
      var ids = _.keys(self.callbacks);
      for (var i = 0;  i < ids.length;  ++i) {
        var id = ids[i];
        // check to see if the callback was removed during iteration
        if (_.has(self.callbacks, id)) {
          var callback = self.callbacks[id];
  
          if (! iterator(callback))
            break;
        }
      }
    }