Add ABCMeta metaclass for correct handling of abstract methods and properties