There are two `-subscribeOn:` invocations: one on `signal` (to ensure the work happens in the right place), and one on `results` (to ensure the work is delivered to the right place, without unnecessary delay).

The caller _can_ technically apply both, but it seems better to handle all of that logic in one class.