Future sleepUntil(bool Function() predict, [Duration duration = const Duration(milliseconds: 50)]) async { while (!predict()) { await sleepAsync(duration); } }