That seems also very possible to do in a client library. (Though that would benefit from an across-my-nodes gossip of backend statuses.)