- ICommand and IAsyncCommand define the synchronous and cancellable asynchronous contracts.
- RelayCommand and AsyncRelayCommand are the concrete execution workhorses.
- CompositeCommand and decorator commands layer orchestration and gating without changing the ICommand contract.
- The selection and expansion triples stay granular on purpose.
- CRUD is split into independent verb interfaces so VMs advertise only the mutations they support.
- Paging is a navigation contract; it does not imply a specific container implementation.
- ModeledCrudCommands turns current-selection state into concrete commands.
- FormVM, dialog flows, and confirmation helpers compose with the same command surface.
- This map explains the capability-aware action bar used in the flagship example.