code: function interceptTask(task, asyncTeardown) {
      var doneCallback;
  
      function interceptCallback(err, value) {
          function onTeardown(newErr) {
              doneCallback(err || newErr, value);
          }
  
          asyncTeardown(onTeardown);
      }
  
      if (typeof task === 'function') {
          doneCallback = task;
          return interceptCallback;
      } else {
          doneCallback = task.end.bind(task);
          task.end = interceptCallback;
          return task;
      }
  }
docs: /*   we take the `callback` or object with `.end()` method passed
  to the result of `withFixtures` and intercept such that
  we can apply our async teardown logic before invoking
  the done callback