ProductState
class ProductState
The state of a Product, changed in place by its events. It is the storefront's read model too: the snapshot queries filter it by category, brand and status and sort it by price, so each of those leads an index whose further keys are the storefront's usual filter and sort ("the published products of a category, cheapest first").