While I see how the approach you described meets the current functionality requirements, I'm not sure how that addresses the issue of future functionality enhancements. The wording is a little odd, I've been trying to decide myself what it implies: "it should establish a control scheme that will support this with minimal disruption to the users".
That isn't the same thing as saying that you want a minimal amount of disruption in the design; I'd solve that easily enough with something like the Command
pattern. What exactly constitutes a 'minimal disruption to the users' when GUI functionality changes in the future?
[ June 03, 2002: Message edited by: Reid M. Pinchback ]