Mostly complete seperation of parsing into factories.
VersionEngine no longer static, now correctly creates factory in ctor.