Moving towards a more aop design
Improvements to AOP system