public static RecordObserver <T> RecordWithGetValueAndSubscribe <T>(this IReadOnlyReactiveProperty <T> source) { var d = new SingleAssignmentDisposable(); var observer = new RecordObserver <T>(d); d.Disposable = source.GetValueAndSubscribe(observer); return(observer); }