Parse in module

Don't review yet.
As I said, I have no complaints with this at all if we want it to be a class in src/test/java. It's specifically if we have the intent to use this in production code that I am not satisfied. We have a number of features that we have to support which will not be supported if this code as it currently exists is used in production.