[State machine] Replace shipment and item events

+ add a generic `updateStateAction` in ResourceController, to easily update a state via a proper StateMachine.