Two recurring criticisms of aspect-orientated programming tools are their inflexibility (or deficiency) in language features and the potential performance overhead that maybe incurred from adopting this programming paradigm. In this talk, I substantiate the former criticism in the context of implementing a reusable framework for the ACID properties of transaction in AspectJ. I highlight the need for runtime disabling and re-enabling of pointcuts, stronger and intuitive aspect-to-class binding of reusable static crosscutting behaviours and support for per-object association of aspects. Finally, I discuss the deficiencies of prominent work-around solutions and propose potential language improvements where appropriate.