run asyn setup inline so teardown has access to closed scope