Minor changes

- Routing most errors through `error()` so a custom error handler can take over