Add custom property(tag) for each obj material-slot

I suppose, there will be no change about it (at least about 2.8)
material slots name

Then I plan to "add tag " for each obj > each “material_slot,” by bpy, then use these tag to manage saved materials correspond to material-slot tags.

I can set new property for each material. like this,

material1.mysetting.target =“figure1”
material1.mysetting.slot-tag =“handnail”
material1.mysetting.mattype = “skin”
material1.mysetting.engine = “cycles”
etc.

Then I hope to do samething about material-slot.

*** import bpy
class MatSlotSettings(bpy.types.PropertyGroup):
my_target: bpy.props.StringProperty()
my_tag: bpy.props.StringProperty()
my_group: bpy.props.StringProperty()

bpy.utils.register_class(MatSlotSettings)
bpy.types.MaterialSlot.my_setting = bpy.props.CollectionProperty(type = MatSlotSettings)

testSlot = bpy.data.objects[0].material_slots[0]

newtag = testSlot.my_setting
newtag.my_target = “Figure1”
newtag.my_tag = “eyemoisture” ***

But, it never work. just reply this erroer message.
TypeError: ‘tuple’ object does not support item assignment

I tried almost same thing , by use “PointerProperty”, but just see same problem.

But if I try samething about “material” it work. then is there way to achive this?
or if not, Can I ask developers, please offer way to add custom property for material-slot,
as same as material.

It need not to be shown in UI, but I just hope to group each mesh material-slot. with use python.

(edit because, I paste wrong property name, but it is simply miss paste, then after all it never work about material-slot,)