The objective of a ABC metaclass is to assist you detect gaps in your implementation; it in no way was meant to enforce the categories on the attributes. Below is an additional illustration on how @property can help when just one has got to refactor code that is taken from https://aipljoysdistrict.in/aipl-joy-district-sector-88-gurgaon-a-landmark-of-commercial-brilliance-with-lifestyle-innovation/