A promise library with the ability to retry.