What about async/await?
blogs.msdn.com