title: In MVVM should the ViewModel or Model implement INotifyPropertyChanged?
body: <p>Most MVVM examples I have worked through have had the <em>Model</em> implement  <code>INotifyPropertyChanged</code>, but in <a href="http://www.codeproject.com/KB/WPF/VMCommanding.aspx" rel="noreferrer">Josh Smith's CommandSink example</a> <strong>the ViewModel implements <code>INotifyPropertyChanged</code></strong>.</p>
  
  <p>I'm still cognitively putting together the MVVM concepts, so I don't know if:</p>
  
  <ul>
  <li>You have to put the <code>INotifyPropertyChanged</code> in the ViewModel to get <code>CommandSink</code> to work</li>
  <li>This is just an aberration of the norm and it doesn't really matter</li>
  <li>You should always have the Model implement <code>INotifyPropertyChanged</code> and this is just a mistake which would be corrected if this were developed from a code example to an application</li>
  </ul>
  
  <p>What have been others' experiences on MVVM projects you have worked on?</p>