Events and there purpose

Hello there,

I’m tring to use some Events and I don’t know, if i understand Events correctly. In my opinion a Subscriber for an Event should be a way to change something.

Some Examples:
DataMappingEvent with ‘CustomerEvents::MAPPING_CUSTOMER_PROFILE_SAVE’ as name:

I get a Data-Object, an Array and a Context. I can only change the array in my Subscriber context (not for the procedure afterwards), the Data-Object is never used after this Event.

EntitySearchedEvent:

I got some Objects and can manipulate them and it could all be fine. But in the Event constructor two objects are cloned and changes on these won’t be possible.

I can’t see the purpose of those Events. How can I use these Events meaningfully? Or why should I use these Events, if I can’t manipulate anything?