docs/developer_guide/design_principles.md
Once a message (request, response, event, or command) is created, its fields must not be mutated. See Message Bus: message integrity for the ownership rules that follow from this.
The invariant protects several properties the system depends on: