For a command that initiates a network request when:
- The network connection is up (precondition)
- The network request is not already in progress (enforced serialization)
The lifecycle proceeds as follows:
- The view model exposes the command and describes its behavior