Observe updates rather than execute operations imperatively. Also refine responsibilities of AppContext and CoreContext.
Convenient for those with privacy concerns.
Do not leave the choice of a repository context up to the library consumer. Instead, provide a specific factory (*Persistence) for each module.