C# Implementation of Scala's Try, Future, Promise