switch AsyncCall to Q.js