Just a small idea...
__new__ is automagically turned into a staticmethod, because other interpretations don't make sense.  Likewise, perhaps __prepare__ could be automagically turned into a classmethod?
Antony