For #27328 - Fix for subclassing hooks

- Previously, sub-classing hooks would only work if the name of the derived class was alphabetically after the name of the base class.
- Derived hook classes tend to be named the same as the base class which meant that the behaviour was indeterminate.
Agree, would making things class properties rather than instance properties be a problem ? It would look nicer to me, but it's not a "must have".