This document discusses advanced aspect-oriented programming techniques. It introduces the decorator aspect and how it can be used on start, exit, exceptions, and success. It then discusses how aspect-oriented programming can be used to reduce repetition in infrastructure code and generate infrastructure code without modifying existing code behavior. Several demos are presented showing how aspects can add validation, equality overrides, and property change notifications without changing code. The document concludes by discussing other non-AOP frameworks that provide hook points for aspects.