GERONIMO-5152 refactor what is supplied for recovery attempts to provide structure for retry. Also a bunch of genericization