docs: function callMiddleware(entry, middleware, callback) {
    var index = 0;
  
    function next(entry, acc) {
      var layer = middleware[index++];
      if (!layer) {
        return callback(entry, acc);
      }
  
      var accumulator = acc || {};
      layer(entry, accumulator, next);
    }
  
    next(entry);
  }