
@tserong will probably have to fix these if he wants to incorporate this class hierarchy into Hawk ;-) But of course we'd first need to split it off into a separate gem (which should be easy - I've deliberately kept the code fairly cleanly separated).