Retries v2: Retries strike back

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