zoom: refactor retry logic to separate function