Implement Observable.takeUntil()