So i'm on Blender 3.1
-> My solution is to create a string property on my special collections. -> Loop into all collection of the scene searching for the property and value
-> the value is an encoded key, so the user is not suppose to touch it but he can change the name of the object / collection / special item.
-> I have lot's of collections in my tools, but I'm make sure that I clean the unused ones and store data into json ( to be able to call them back if needed)