small clean up
adds a done.wrap function to wrap async callbacks