Now that we have metaclasses, we should support them for Python 2 as well. While in Python 3 the metaclass is specified as a metaclass=M keyword arg in the class heading, for Python 2 the metaclass is given by a __metaclass__ = M assignment in the body of the class.