title: NSNotificationCenter - Observing for Notification Name with Multiple Methods
body: <p>So, I have an object that has methods to toggle watching for a certain notification name, like so:</p>
  
  <pre><code>- (void)startWatchingForA
  {
      [[NSNotificationCenter defaultCenter] addObserver: self
                                               selector: @selector(handleA:)
                                                   name: SomeNotificationName
                                                 object: nil];
  }
  
  - (void)stopWatchingForA
  {
      [[NSNotificationCenter defaultCenter] removeObserver: self
                                                      name: SomeNotificationName
                                                    object: nil];
  }
  </code></pre>
  
  <p>Which works fine. However, I have another method, <code>handleB:</code>, that needs to respond to the same notification.</p>
  
  <pre><code>- (void)startWatchingForB
  {
      [[NSNotificationCenter defaultCenter] addObserver: self
                                               selector: @selector(handleB:)
                                                   name: SomeNotificationName
                                                 object: nil];
  }
  
  - (void)stopWatchingForB
  {
      [[NSNotificationCenter defaultCenter] removeObserver: self
                                                      name: SomeNotificationName
                                                    object: nil];
  }
  </code></pre>
  
  <p>The issue is that, should <code>stopWatchingA</code> or <code>stopWatchingB</code> be called, the object will stop watching for both. Is there some way to remove one observation instance, but not the other?</p>
  
  <p>Ideally, when I call <code>stopWatchingForA</code>, I want <code>handleA:</code> to not be called, entirely independent of <code>B</code>.</p>