Refactor a bit the PromotionEligibilityChecker
Merge pull request #1318 from stloyd/feature/promotion_checker

[Components] Refactor a bit the PromotionEligibilityChecker