How do I reduce class coupling? Is class decoupling always necessary? - C#