I attempted first to simply move the setting of the redis retry key from the perform hook to the `try_again` method.  This cause massive odd failures.  It seems that most of the tests are testing the behavior or implementation of particular methods and not the overall behavior of the system, so I could not easily see how to keep tests passing while removing the duplicated call to `setnx`.  Any ideas are welcome