Rethink the 'await' idea; have it invoke only once, with a Future-based timeout. This lets await blocks use lexical closures or other self-stateful techniques