title: Callback event subscription
body: <p>I have a WorkManager class with a AddWork() method and a WorkDone event. 
  Other components of the system will call WorkManager.AddWork() and should only be notified when their work has completed. Instead of the event notifying every client when every event fires.</p>
  
  <p>I'm struggling to find an elegant solution.</p>
  
  <p>Thanks all!</p>
  
  <p>EDIT:
  Another way to look at this is, say I have a class called JobManager with an event called OnWorkDone().
  I have 2 other classes that need to listen to this event.</p>
  
  <p>Event subscriber class 1</p>
  
  <pre><code>WorkManager.OnWorkDone += WorkDoneJob1;
  void WorkDoneJob1()
  {
       print("Job 1 is done!");
  }
  </code></pre>
  
  <p>Event subscriber class 2</p>
  
  <pre><code>WorkManager.OnWorkDone += WorkDoneJob2;
  void WorkDoneJob2()
  {
       print("Job 2 is done!");
  }
  </code></pre>
  
  <p>In this model if the jobmanager completes job1 it will print "job 1 done" and "job 2 done" since all clients get notified that event fired.</p>
  
  <p>I only want class1 to get a notification when it's job has completed.</p>