Replace blocking loops with async. Fixes GH-76.