Refactoring 7: Replace conditional logic in price with polymorphism