[Best Practice] Koa Node Module
Hi Koa-Team 😄 

I am back to Koa after two years and want to write a node module (requesting serialport).

My problem: I cannot find a useful starting point creating that node module. I am simple confused how it is done right today ( [Guide doesn't tell me the module.exports stuff](https://github.com/koajs/koa/blob/master/docs/guide.md))

My current idea would be like this:

```
'use strict';
class Test{
	constructor(p){
		this.p = p || {param1: 'blabla'};

	}
	example(foo){
		foo = foo || this.p;

		return async function (ctx, next) {
			ctx.pars = foo;
			console.log('Hello Parameters: ',ctx.pars);
			await next();
		}
	}
}
module.exports = Test;

```
module usage:

```
const Koa = require('koa');
const TestClass = require('./example-middleware');
const test = new TestClass('foobar');
const app = new Koa();
app.use(example.example({p1: 'bar'});
app.use(ctx => {
	console.log('Example: ',ctx.pars);
});
app.listen(3000);
```
Is this done the right way?

