title: Should an event publisher clone the data passed in the EventArgs to prevent subscribers from changing the data?
body: <p>I have custom event that has several different subscribers who will all use the data passed in  my CustomEventArgs and potentially change it for their own use.  What is considered the best practice in this scenario to prevent one subscriber from polluting the data that another subscriber is using?  Should the publisher create clones of the data and invoke each of the subscribers' delegates separately?  Should the subscriber be responsible for cloning the data if it is to be modified?</p>
  
  <p>Thanks in advance.</p>