task-based distributed computing for C#/.NET