Just one hint if someone wants to implement this:
Please use event filtering so it will only be firing the event callback functions for yourself:
https://wiki.esoui.com/AddFilterForEvent
This is done before lua stuff takes place and is way faster than checking within the lua event callback function for "if source == "player".