This requires the `Publisher` maintaining a list of all `Subscriber` instances, even when that normally would not be necessary (each `subscribe` starts a fresh lifecycle such as reading a file).

In a high-throughput system I try and avoid this type of storage whenever I can. It seems to me that it's the responsibility of the `Subscriber` to not do this. The `Publisher` CAN reject with an `IllegalStateException` but I don't think it should be required.