async-wrap: add support for done callbacks