Adding properties to Modifiers

Hey !

This is my first post, so bear with me :slight_smile:

I am developing an Add-On for Blender:

I need to identify certain modifiers on objects.
For that purpose, I wanted to add a boolean property to the bpy.types.Modifier type.

>>> bpy.types.Modifier.test = bpy.props.BoolProperty(name="Test")
>>> bpy.types.Modifier.test
(<built-in function BoolProperty>, {'name': 'Test'})

This works as expected. But then, on newly created Modifiers, of any types, I get the same output when accessing the β€œtest” attribute, instead of reading/writing to the property.

>>> bpy.context.object.modifiers['Mirror'].test
(<built-in function BoolProperty>, {'name': 'Test'})

Expected:

>>> bpy.context.object.modifiers['Mirror'].test
False

This happens both in Blender 2.79 and 2.80, and it is the same if I add the property on bpy.types.Modifier or a specific one like bpy.types.ArmatureModifier.
It works fine when adding properties to bpy.types.Mesh or bpy.types.Object.

Is this a bug, or a feature ?
All alternatives to this require keeping a list of the modifiers elsewhere, and that is not efficient nor safe.

Thanks in advance
Scott