Injectable delay function for testing (avoids real waits in tests).
Future<void> Function(Duration delay)? delayFn;