added the fake qc object in the arguments of the CFs-- now you can have:
function myCF(data, qc){
  async(function(data){qc.asyncStackContinue('key',data)})
  return qc.WAIT_FOR_DATA
}
instead of:
function myCF(data){
  var self = this
  async(function(data){self.asyncStackContinue('key',data)})
  return this.WAIT_FOR_DATA
}