As we start to hit more occurrences of faulty servers we need to make the client even more
reliable. This means that the client should have some polling abilities to allow us to detect a server
has failed, and to be able to return from a blocking call.