Design Patterns: Interface Segregation Principle Explained Practically in C# (The I in SOLID)