<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __add_prop(self, key, admin=False):
 """Add gettable and settable room config property during runtime"""


        def getter(self):
            return self.config[key]

        def setter(self, val):
            if admin and not self.admin:
                raise RuntimeError(
                    f"You can't set the {key} key without mod privileges"
                )
            self.__set_config_value(self.config.get_real_key(key), val)

        setattr(self.__class__, key, property(getter, setter))