title: MVVM and collections of VMs
body: <p>A common senario: A model with a collection of item models.<br>
  E.g a House with a collection of People.</p>
  
  <p><strong>How to structure this correctly for MVVM - particulary with regard to updating the Model and ViewModel collections with additions and deletes?</strong></p>
  
  <p>Model <code>House</code> contains a collection of model <code>People</code> (normally a <code>List&lt;People&gt;</code>).<br>
  View model <code>HouseVM</code> contains the House object that it wraps and an ObservableCollection of view model <code>PeopleVM</code> (<code>ObservableCollection&lt;PeopleVM&gt;</code>).  Note that we end up here with the HouseVM holding two collections (that require syncing):<br>
  1. <code>HouseVM.House.List&lt;People&gt;</code><br>
  2. <code>HouseVM.ObservableCollection&lt;PeopleVM&gt;</code></p>
  
  <p>When the House is updated with new People (add) or People leave (remove) that event must now be handled in both collections the Model House People collection <strong>AND</strong> the the VM HouseVM PeopleVM ObservableCollection.</p>
  
  <p><strong>Is this structure correct MVVM?<br>
  Is there anyway to avoid having to do the double update for Adds and Removes?</strong></p>