Encapsulated Earley-OOP stuff to separate 'namespace' (tinynlp)