public static IObservable <TProp> WhenAny <TProp>(this IObservablePropertyChanged @this, Expression <Func <TProp> > prop)
        {
            var name = Reflex.PropertyName(prop);
            var func = prop.CompileFast();

            return(@this.PropertyChangedObservable.Where(s => s == name).Select(_ => func()));
        }