It might be worht having a look at the second article in this series (available at http://www.onjava.com/pub/a/onjava/2004/10/20/springaop2.html) and how I implemented the cuckoo's egg pattern? This pattern deals explicitly with the changing of an application's feature based on your business needs and so does some of what you are looking for