OWAD: refactor async to ProtoThreads