Solution Architecture Question - C#