def __init__(self, name, bases, nmspc):
        super(RegisterClasses, self).__init__(name, bases, nmspc)
        if not hasattr(self, 'registry'):
            self.registry = set()

        self.registry.add(self)
        self.registry -= set(bases)