One allowed fulfillment change, expressed as the state it leaves and the state it enters.
A change is declared as a pair rather than as a bare target status, because the source
state is half of the rule: it is only applied while the order still holds
OrderStatusChange.from. There is deliberately no general "set this order's state"
input anywhere in the application; every state change is one of these named pairs.
One allowed fulfillment change, expressed as the state it leaves and the state it enters.
A change is declared as a pair rather than as a bare target status, because the source state is half of the rule: it is only applied while the order still holds OrderStatusChange.from. There is deliberately no general "set this order's state" input anywhere in the application; every state change is one of these named pairs.