Adds ability to inject parsers into parse(). Simplifies parse() strategy