Make this private.  Subclasses can override private member functions.  Much cleaner.