Why is this synchronization necessary? I might've asked this already – is it possible to receive multiple KVO callbacks concurrently?

If not, we shouldn't need this. If so, we also need to protect access to `childDisposable` in the other blocks.