Aspect Oriented Programming (AOP) in C# with SOLID