Refactored product repository interface