I think what we'll want once we go model-view is to essentially have observable properties "main classes" and "transitive sources" on the model, with change notification. But definitely keep this for now since we need to port activator more as-is.