Hi Paul: I was studying your beautiful code and noticed the following style rule: When writing an advice, use only pointcut names defined in the aspects/classes where the advice will take effect or defined in a "global" pointcut class (such as Any in the LoD checker). This reduces coupling because the pointcut names don't talk about the internal structure as their definitions do. Information becomes better localized and join point structure is defined "near" the join points. Did you consciously follow such a rule? Do you have a better formulation? This programming style encourages classes/aspects to define their own pointcuts through which they can be advised. It is a controlled form of AOP. -- Karl