since the commands are stateless, they should probably only be instantiated once and stored in the application. that way, anyone can run any command using the following: m = app.methods['my-method-name'] m.execute() Right now, every mode instance instantiates its own exact copy of the method, and anyone else who needs to use a method just instantiates the method in question. (2006/11/4) Well, we've made some progress on this. The app now has copies of everything, but the various modes don't necessarily use that copy, and also don't necessarily add their own stuff to it.