Update to use async library

Use the async library to keep track of everything that has
completed instead of manually doing it.