Just keep the pointer. It is pretty much unique, and will work even if it is ‘stolen’ (it will just tell you its stolen) but that won’t happen unless you have low max playbacks on an event and the max playbacks behaviour is set to steal other instances.

If the event instance is stolen, your stored pointer doesnt update that new instance, it is reference counted and will just fail, and not affect anything.