delay method
Delays without exposing the host timer implementation.
Implementation
@override
Future<Result<void>> delay(Duration duration) async {
requestedDelays.add(duration);
return _delayResults.isNotEmpty
? _delayResults.removeFirst()
: const Ok<void>(null);
}