Extracted parser to a separate component.