- Destructed is the fresh-builder start, Constructed is the ready state, and Disposed is terminal.
- Reconstruct is not shorthand in docs: it is its own observable four-step sequence.
- Rollback after failed hooks is part of the normative lifecycle contract.
- A per-VM guard serializes lifecycle work and blocks concurrent re-entry.
- Late async completions that race dispose() abort instead of reviving a torn-down VM.
- Container VMs orchestrate children but do not change the core state machine.
- Hub transactions preserve every typed message while deferring one iterative FIFO drain until the outermost scope exits.
- Subscriber-generated messages append to the same queue instead of recursively re-entering the subject.
- Per-instance propertyChanged surfaces exist so views do not need to filter the shared hub when they bind one VM.