Understanding Python: Metaclasses