title: Why there is list of changes in observable collection event args?
body: <p>I'm trying to understand why there are two <strong>list</strong> properties <code>NewItems</code> and <code>OldItems</code> while you can only add or remove single item at a time?</p>
  
  <pre><code>private void InternalCollectionChanged(object sender, NotifyCollectionChangedEventArgs args)
  {
      var changes = args.NewItems; // why this is a list?
  }
  </code></pre>
  
  <p>I looked at available methods for <code>ObservableCollection</code> and I can only add or remove single item at a time.</p>
  
  <p>if I can only add or remove single item at a time, what is the reason to have list of changes in event args and not a single add or remove change?</p>