I decided to split material on this subject and so will be publishing it in 2 parts. To not overload an articles and to finally throw something out of the door (I was having difficulties with spare time and motivation). So the first one will be for transparent asynchrony and dual mode execution and the second one will touch on advanced topics.
The first part is already on CodeProject.