Fixes to ObservableObject... Stolen from MVVM Foundation