Lines 67~74 should be handled _IN_ the event listeners, not in this trait. Instead, pass the hydrator name to the constructor of the event, then let the listener do whatever it wants with this data.

It actually only needs the metadata, not even the precise hydrator name.