Erik,
>I guess our design strategies differ here. The sort of hook I normally build into my classes is used ONLY for instance code, and this does mean that there will never be class code in there. If I find myself wanting to add class code here, it means I implemented the design wrong, and I need to rethin where to put the code... there is always a more appropriate place.
There's always several ways to design workable class designs. We always need to be careful of restrictive qualifiers like ONLY. What if you find yourself replicating the same hook code in several instances? You decide to promote that code to a subclass to avoid the replication. DODEFAULT allows the common code to be easily called and the instance is still free to have additional code.