Dev, Refactoring to use interfaces, begin extract parser abstraction