title: UI Threading with ViewModels
body: <ul>
  <li>Collections that are bound in a WPF View must be updated on the UI thread.</li>
  <li>ViewModel exposes a collection</li>
  <li>Therefore when collection in the ViewModel is modified it must be done in the UI thread</li>
  <li>Best practice is to keep ViewModels ignorant of View and presumably such details as Dispatcher. </li>
  </ul>
  
  <p>What is the cleanest way to resolve this while keeping view model testable?</p>