done  unfortunately a runloop does not allow multiple run calls  which is why having a naked runloop member does not really work here  i would like to be able to call waitforresult multiple times on the same testcallback instance  this requires wrapping the runloop in either a std  unique ptr or base  optional to be able to replace it with a new instance 