Replace events with IObservable objects