- __init_subclass__ called when new subclasses defined - __set_name__ called when descriptors are part of a class definition