templetized AsyncDoer