more promise stubbing.  this needs rethinking wrt GC, eventloop