Pushing the logic for updating the price of an item depending on the options down to the line item model