This is a basic example of how I do it, this method is very simple and leaves the player character completely isolated.
////
First we create an input and make it call a even dispacher, we also put the events of buff and debuff
//////
We create a master item, we add a trigger and we bind and unbind when it is inside the trigger
When the player enters the trigger we save its reference in a variable. (cast is 200% fundamental)
We create all the necessary buff events, as we have a reference to the character, we can call any event of the character.
Events could also be created, to send sounds, animations and effects all encapsulated in the item.
We also create a Use function that will be used by your children.
////
Now we can create all kinds of childs items and call base item functions or do completely different behaviors, such as doors, toilet handles, locks, chests, etc.
////
You can do exactly the same in a base npc character and create npc children as soldiers or merchants, walkers