def METHOD_NAME(self, prop_path, value, raise_on_error=True, log_on_error=True):
    props = prop_path.split('.')
    if len(props) > 1:
        obj = self._get_task_property(
            '.'.join(props[:-1]), raise_on_error=raise_on_error, log_on_error=log_on_error)
    else:
        obj = self.data
    if not hasattr(obj, props[-1]) and isinstance(obj, dict):
        obj[props[-1]] = value
    else:
        setattr(obj, props[-1], value)