The eventbus should quarantine per endpoint, not subscription
Current situation
The eventbus quarantines subscriptions, which is not optimal. If some subscriptions share the same endpoint, it's likely it's not responsive for all those subscriptions, not only for one of them.
Additionally, we are trying to republish on 4xx error code, which is maybe not a good idea. 429, 5xx and timeouts and other kind of connection errors, yes, the other, not so much.
Also, the quarantine is final, which is not great in some scenario.
Finally, even if not directly relevant to this issue, we deserialize and reserialize events content. This causes unnecessary work.
Desired outcome
The eventbus should manage subscriptions per endpoints, should not attempt to resend on 4xx (except for 429), and use a throttling delay, not a final quarantine.
Also, it should not re-serialize the received data. (It still has to deserialize it, to find the appropriate subscribers.)