add ModelContainer (which we may remove later), some notes
refactor to have an explicit mutableCopy to make changes. Makes things much simpler.