- Rename #apply_discount to #register_applied_discount to make it more clear that it only registers discounts and does not apply them - Expose maximum possible discount to make it possible to get get the possible discount without registering it in the budget