// Creating a Waitable
Waitable<String> weather = GlobalConcurrency.createWaitable("Unknown");
// Changing the value
weather.accept("Sunny");
// Waiting for a condition
final Optional<String> match = weather.waitFor(s -> !s.contains("Rain"), Duration.ofSeconds(10));
if (match.isPresent()) {
goForWalk();
}