That's reasonable IMHO, but this way we will need to provide a default listener to the event. So, If we go this path, I'd say we should move the complete hydration proccess to the listener, so the trait will trigger `hydrate` event (with  `$data` and `$resource`) and expect some listener to return the hydrated object.