Make PromotionEligibilityChecker easier to extend