Normally, as far as I know, a domain event is issued when domain model's state is changed. However, in ch13, there's reallocation flow, a command (Allocate command) is emitted in product.change_batch_quantity(). I guess you did it in order to exactly tell the allocation is needed, but it seems uncommon in my view. Were there more reasons to choose to issue the command? According to this commit, you might've had the consideration like me 😂 .
