You know, I haven't looked at your classes very closely - just enough to identify the things you've been concerned about.
Now that I look at it, I don't see any need to separate the stuff in parse into a separate method. But since it's the way it is, and it works, you may as well leave it. Next time you do something like this, let the constructor do the setup work, that's what it's paid for.
There are exceptions, of course, but I'll leave it to you to work out some cases when you might have to put some of the setup outside of the constructor.