The goal of a ABC metaclass is to help you detect gaps within your implementation; it under no circumstances was intended to implement the categories in the attributes. Below is another example on how @property can help when a person needs to refactor code which is taken from right here https://jmsmanesar.in/jms-the-majestic-floors-imt-manesar-sector-m9-gurgaon/