Common C# interfaces and patterns I use