waitFor

suspend fun waitFor(timeout: Duration, delay: Duration, message: () -> String = { "Condition not met within $timeout" }, condition: () -> Boolean)
suspend fun waitFor(timeout: Duration, delay: Duration, message: String, condition: () -> Boolean)
suspend fun waitFor(timeout: Duration, message: String = "Condition not met within ", condition: () -> Boolean)
suspend fun waitFor(timeout: Duration, message: () -> String, condition: () -> Boolean)