Extensions to various object types in C#