The second approach involves a per-session creation mechanism for EditingContexts.
The framework provides the module utilities.EditingContextSessioning for such situations. This module acts as central repository to which a sessioning mechanism can be bound for creating, accessing and destroying an EditingContext as sessions come up and expire. The module documentation gives full details about its methods and how they can be used.
This is due to a feature missing in the framework, where changes to an EditingContext are not broadcasted to others. Resolution of this issue is planned for after release 0.9.
There is currently no satisfying solution for this problem.