Couldn't you use a `@property` decorator?