NR> ... there are three or four different sub-sets of functionality NR> ...sub-sets are completely seperable... NR> ...pull in one or two of the sub-sets... NR> ...allowing other people to still sub-class Base
use a Decorator (aka wrapper) http://c2.com/cgi/wiki?DecoratorPattern to add functionality, add another wrapper.