Make async .gets safer and race less for data