Correctly invoke async callback asynchronously