Tag: c# encapsulation vs abstraction