Move 'retry' logic to a separate Strategy class