>  So you reckon the interface, states and maybe the context into a subpackage?

+1 I think this would make sense. The parser is really quite self-contained and independent.