How to design a C# SDK - C#