Parser with DI and testing