docs: function waitOn(opts, cb) {
    if (cb !== undefined) {
      return waitOnImpl(opts, cb);
    } else {
      return new Promise(function (resolve, reject) {
        waitOnImpl(opts, function(err) {
          if (err) {
            reject(err);
          } else {
            resolve();
          }
        })
      });
    }
  }