Waiting and Watching
nwait(), wait_until(...), watching(...)
nWaiting and watching provides hw reactivity nWaiting refers to a blocking action while waiting for an event to happen, whereas watching refers to a non-blocking action nwatching enables preemption and can be done globally or locally