Refactor from promotion actions and tax rate into AdjustmentSource

Unused method argument - `amount`. If it's necessary, use `_` or `_amount` as an argument name to indicate that it won't be used. You can also write as `label(*)` if you want the method to accept any arguments but don't care about them.