Subclass extensions with self