Common problem when using INotifyPropertyChanged interface is that the PropertyChangedEventHandler event accept a string property name as a parameter. That cause a possible problem when we want to refactor the property and forget to update the provided property’s name.
Have you ever faced the problem that extending enum type by new values may cause unpredicted behavior of the application? I recently have. As the solution for this problem I figure out how to design enum values so they can be easily sortable and easily expandable in future, causing no side effect.