Progress: Playing around with retries redesign, tests failing though.

Fork of @kevinburke's #326 pull request.

Trying to simplify the code, maybe cut out some less critical features.