@winzou How do you imagine to call `ShipmentProcessor:updateItemsState` inside `updateShipmentState` when status constants do not match: `ShipmentInterface::STATE_*` vs `ShipmentItemInterface::STATE_*`?