Replace giant pyramid with async

Finally.