Use a descriptor for DynamicState.fetch_attribute