I don't find any easy way of waiting for the results of a callback and returning later.
deferring to thread, and leaving notes about a better solution needed.