Now to begin with my assumptions could be wrong but this is how I assume things work in nwn technically:
When you, as an example, dye a piece of armor, it re-creates that armor with the changed color? I assume this because when we have custom items with variables added to them, they seem to be stripped from items when it is dyed.
Certainly scripting offers solutions to this, but if this is indeed how it works in technical terms, it would be great if some level of persistence could be implemented in engine level. That it also checks and applies any item variables, to keep them attached to the item.
This is not a massive thing but if nwn in theory uses this type function a lot in events of change, it helps in custom content to keep the variables in items intact in engine level instead of applying custom codes to do the same trick.
We use copy tools and cloning tools where we've added some manually, but in cases of basic functions it'd be so much cleaner if engine simply did it for things like dyes and similar.