ProductFetcher further refactoring