The DefaultOrderRepository triggers events through the IOrderRepositoryCallback interface but that interface only takes in an OrderReference, there is no reason why it couldn't take in the IOrderGroup.
I am not sure what the OrderReference can practicly be used for, if we load the IOrderGroup from it again we won't get the object as it looked when the event was triggered (which of course makes OnUpdating and OnDeleted very strange indeed).
I can not see how the IOrderRepositoryCallback can be used as it is today, we will have to decorate the entire DefaultOrderRepository and trigger our own events.
The DefaultOrderRepository triggers events through the IOrderRepositoryCallback interface but that interface only takes in an OrderReference, there is no reason why it couldn't take in the IOrderGroup.
I am not sure what the OrderReference can practicly be used for, if we load the IOrderGroup from it again we won't get the object as it looked when the event was triggered (which of course makes OnUpdating and OnDeleted very strange indeed).
I can not see how the IOrderRepositoryCallback can be used as it is today, we will have to decorate the entire DefaultOrderRepository and trigger our own events.