Coz you mentioned elegant sync programming. I think the async CTP for C# solves this problem of nested callbacks.
Take a look here
http://channel9.msdn.com/Blogs/Charles/Anders-Hejlsberg-Intr...
Take a look here
http://channel9.msdn.com/Blogs/Charles/Anders-Hejlsberg-Intr...