public static IObservable <(NonPersistentObjectSpace objectSpace, ObjectsGettingEventArgs e)> WhenObjectsGetting(this NonPersistentObjectSpace item) { return(Observable.FromEventPattern <EventHandler <ObjectsGettingEventArgs>, ObjectsGettingEventArgs>(h => item.ObjectsGetting += h, h => item.ObjectsGetting -= h) .TakeUntil(item.WhenDisposed()) .TransformPattern <ObjectsGettingEventArgs, NonPersistentObjectSpace>()); }