Or, as I like to call it: "That stupid dictionary thing we've all written a thousand times but were too lazy to component-ize for reuse" How many times have you written code like this in your C# 2.0-and-later life? Foo foo = null; if( fooCache.TryGetValue(key, out foo)) { foo = new Foo...