Robust workers for Go
The concept defined in this package is intended to be quite configurable. Using middleware can be a very powerful design. You may want to define middleware to recover from panics, inject content into the context (like a logger, etc), perform setup or teardown steps, or any number of other things that you can think of!