Changed delay parameter to use milliseconds instead of seconds. The main problem is that specifying backoff (time gain) in seconds for each retry is simply too much, launching out the delay time to over 64 seconds very easily if the wrong numbers are given. Don't get me wrong, its still totally possible to do an almost infinite sleep by setting the value too high, but being able to specify millisecond-level gains with large retry numbers might be desirable rather than smaller retry numbers.