- Add error handling at the routing level so that all errors can bubble
up and be handled and logged there in one place.
- Add Err variants for ClientStorer and Attributes to facilitate
generating errors for missing type-failing arguments.
- Add better control flow and error handling for callbacks.