Actually no, it too completes when its source object deallocates.

I was wrong, you will want that `-takeUntil:` which prevents the uncommon scenario where a reference to a signal returned from `-stateSignal` is kept alive longer than the `RBTCentralManager` instance used to create it. In that case, without the `-takeUntil:`, a subscriber to the `-stateSignal` would be sent a bogus value because there is no `CBCentralManager` instance to get a `state` from.