Split go-async into sep. prepare-for-async + go-async calls