def METHOD_NAME(
    self,
    item: ocio.Look,
    column_desc: ColumnDesc,
    value: Any,
    index: QtCore.QModelIndex,
) -> None:
    config = ocio.GetCurrentConfig()
    new_item = copy.deepcopy(item)
    prev_item_name = item.getName()
    # Update parameters
    if column_desc == self.NAME:
        new_item.setName(value)
    elif column_desc == self.PROCESS_SPACE:
        new_item.setProcessSpace(value)
    elif column_desc == self.DESCRIPTION:
        new_item.setDescription(value)
    # Update transforms
    if column_desc == self.TRANSFORM:
        new_item.setTransform(value)
    elif column_desc == self.INVERSE_TRANSFORM:
        new_item.setInverseTransform(value)
    # Preserve item order when replacing item due to name change, which requires
    # removing the old item to add the new.
    if column_desc == self.NAME:
        items = [copy.deepcopy(other_item) for other_item in config.getLooks()]
        config.clearLooks()
        for other_look in items:
            if other_look.getName() == prev_item_name:
                config.addLook(new_item)
                self.item_renamed.emit(new_item.getName(), prev_item_name)
            else:
                config.addLook(other_look)
    # Item order is preserved for all other changes
    else:
        config.addLook(new_item)
    # Broadcast transform or name changes to subscribers
    if column_desc in (self.NAME, self.TRANSFORM, self.INVERSE_TRANSFORM):
        item_name = new_item.getName()
        self._update_tf_subscribers(
            item_name, prev_item_name if prev_item_name != item_name else None
        )