Drop a few tests and make it work and compile. Also add the documentation: errors.md
Rename the old Context to State and use context.Context in the middleware for intra-middleware communication and more.