The Azure IoT Device Twin represents a lightweight generic data (state) model for disconnectable distributed ends such as a device-facing end and service-facing end. The Device Twin has a support for creating a "shadow copy" between those ends in the transitions manner. Basically, each end has ownership for writing (or updating) its property, which the other end is notified for this changes.

Based on this notifications, versioning and device twin metadata, the state can be transited from one end to other one in the reliable manner. Note, that the lightweight state machine must be implemented at the each end such as a device and backend triggered by the notification changes.
The above picture is from document Device twins, where is described this model in the detail.
Update:
The following screen snippet is an example of the sequence diagram for transition states between the Device and Back-end using a Device Twin properties:

In the above example, this distributed state machine handles a transmission state from inprocess, ack, done, null between the Device and Back-end. Similar can be created the transitions for instance: inprocess, nack, null, between the Back-end and Device, for disconnected device, etc.
This example used an additional property such as a status to indicate that the property Config is in the transition state, but can be added more, for instance, original value, version, etc. which they help to recover state, etc.