https://www.dotnetcodegeeks.com/2012/06/living-with-async.html
Living with async