Use proper abstract base classes instead of pseudo-base class definitions.