And btw, arguments passed to each plugin and their context are configurable through options.
All of this works and is reality.
app
.use(function one (done) {
this.one = 'one'
// console.log('first:', this.one)
// throw new Error('foo')
fs.readFile('package.json', done)