Interface practices - C#