Migrate Parser to an interface