Implement ObservableObject / ObservableViewModel
ObservableObject and ObservableViewModel should implement INotifyPropertyChanged interface and also the CallerMemberName Setter (see blog.amusedia.com/2013/06/inotifypropertychanged-implementation.html)