code: function done(failures, fn, reportersWithDone, waitFor = identity) {
    const count = reportersWithDone.length;
    const waitReporter = waitOn((r, f) => r.done(failures, f));
    const progress = v => debug('Awaiting on %j reporters to invoke done callback.', count - v);
    promiseProgress(reportersWithDone.map(waitReporter), progress)
      .then(() => {
        debug('All reporters invoked done callback.');
      })
      .then(waitFor)
      .then(() => fn && fn(failures));
  }
docs: Override done to allow done processing for any reporters that have a done method.