public static IObservable <PropertyChangedEventArgs> PropertyChangedAsObservable(
            this INotifyPropertyChanged notifyPropertyChanged,
            string propertyName)
        {
            if (propertyName == null)
            {
                throw new ArgumentNullException(nameof(propertyName));
            }

            return(notifyPropertyChanged
                   .PropertyChangedAsObservable()
                   .Where(x => x.PropertyName == propertyName));
        }