retry middleware is more generic, I can add retry boolean attribute to env, and rewind only in case if env[:retry] == true