SubclassAware defines a self.inherited method on the extending class whenever it is extended. If the extending class or any subclass defines its own self.inherited method (without chaining in the existing ones), this breaks SubclassAware's ability to track subclasses. There is a workaround, but it is clunky and, come on, really shouldn't be necessary.