modified AsyncResult to better match function and look of AsyncResult in the python version (maintains function and look of old version enough to still pass unittests)