Modified completely to use aspectj instead. Simplified greatly
Merge branch 'seamless'