Well, I guess these are questions for a later time.  So, we don't call this, it is an internal method that is overridden here?

Doesn't the need to reset patterns depend on when name or type get changed?  If this is called in new/initialize,  the patterns are empty anyway, right?  We could use the dirty methods at the appropriate point in the event chain.