docs: function runAsyncMiddleware(wares, event, payload, callback) {
    if (wares.length) {
      var ware = wares[0];
      var restWares = wares.slice(1);
      ware(event, payload, function () {
        runAsyncMiddleware(restWares, event, payload, callback);
      });
    } else {
      callback && callback(payload);
    }
  }