Replaced ^AsyncBlock with waitUntil - block introspection was unreliable.