better names might be `cached_class_property` and `_cached_class_properties`