Using AOP to improve Design Patterns Modularity