small / unrelated point to this commit - should we be subclassing Exception so that unanticipated errors bubble up?