Refactor, moving code into new Core::Parser
Refactor parser spec