In this article, I am going to look at the possibility of composing asynchronous middleware in a similar way to Koa. All of the code can be transpiled by Babel using the presets for es2015 and stage-2. By now I am sure most people are up-to-date with the async specification for ES7. It allows for async defined functions to pause execution and await asynchronous calls to resolve before continuing.