code: function Waiter() {
      if (!(this instanceof Waiter)) {
          return new Waiter();
      }
  
      var self = this;
  
      // found values
      self.values = {};
  
      // callback when done
      self.callback = null;
  
      self.resolved = false;
  
      self.count = 0;
  }
docs: / provides the async helper functionality