Address review comments, see #11

- introduce case class `ExceptionState`
- make exception state parameters explicit
- predefine all used `Name`s, rather than use strings
- various clean-ups