title: MVVM binding with collections in Model
body: <p>I have a problem with correct implementing MVVM pattern in my Terminal application.
  The application prints out all data received via serial port in specified format.
  So <code>Model</code> part should be responsible for collecting data while <code>ViewModel</code> should be responsible for holding <code>View</code> format configuration (data with DateTime timestamp, Time timestamp, data in HEX or ASCII).
  But on the other hand <code>Model</code> also can save data to a file, so it also needs information about storage format, so it should rather be in <code>Model</code>, not in <code>ViewModel</code>. Is this conception correct?</p>
  
  <p>The other problem is that <code>Model</code> needs to have collection with all received data. I have read that <code>ObservableCollection</code> should not be used in <code>Model</code>, but without <code>ObservableCollection</code> I have a problem how to inform <code>ViewModel</code> and <code>View</code> that data hase changed.
  Should <code>ViewModel</code> keep its own copy of data in <code>ObservableCollection</code>? How should I correctly bind it to <code>ListBox</code>?</p>