Observe updates rather than execute operations imperatively. Also refine responsibilities of AppContext and CoreContext.