> Is there a neat way of dynamically loading in the appropriate control > subclass? Something proven and widely used.
For what it's worth, I use the eval trick too. Although it may seem a little clunky, I believe it is "proven and widely used". The DBI.pm module uses code like this to load in the DBD drivers: my $driver_class = "DBD::$driver"; eval "package DBI::_firesafe; require $driver_class"; I'm not sure this answers your MVC questions, but maybe it will make you feel more comfortable with your solution. hth, aaron