Why can't it all just add directly to the `child` like this?

```java
// unblock call in case an asynchronous unsubscribe happens
                child.add(BooleanSubscription.create(new Action0() {
                    @Override
                    public void call() {
                        onSubscribeLatch.countDown();
                    }
                }));
                child.add(scheduler.schedule(new Action1<Inner>() {

                    @Override
                    public void call(final Inner inner) {
                        // we inject 'child' so it's the same subscription
                        // so it works on synchronous Observables
                        final Subscriber<T> innerSubscriber = new Subscriber<T>(child) {

                            @Override
                            public void onCompleted() {
                                child.onCompleted();
                            }

                            @Override
                            public void onError(Throwable e) {
                                child.onError(e);
                            }

                            @Override
                            public void onNext(T t) {
                                child.onNext(t);
                            }

                            @Override
                            public void onSubscribe() {
                                onSubscribeLatch.countDown();
                            }
                        };

                        child.add(BooleanSubscription.create(new Action0() {
                            @Override
                            public void call() {
                                inner.schedule(new Action1<Inner>() {
                                    @Override
                                    public void call(Inner t1) {
                                        innerSubscriber.unsubscribe();
                                    }
                                });
                            }

                        }));

                        o.subscribe(innerSubscriber);
                        onSubscribeLatch.countDown();
```