Use manual inheritance initialization because super linearization
results in a order that results in problems with the __metaclass__.