It’s a native event, so any component can do it already.
For something more elaborate, extend a component, add an Event Dispatcher and a new Event will be available to use on the owning actor, and carry the appropriate data signature.