One thought I had is maybe instead of a context-wide `MBF`, we could register a local `MBF` - that way the general (parent) application context could use immutable messages, while allowing mutable messages just in a child context.