Not really... I'd love to simplify this, especially that when we dispatch cart change event, it always means that something has changed and everything should be recalculated.