Setting the ABCMeta metaclass
Why / How to use ABCMeta and abstractmethod