Added IObservableCollection and supporting implementation and tests