title: How to remove a callback function from jQuery widget
body: <p>I have a widget that I am assigning a callback function to for a specific event.
  <br>
  The following code works and triggers my callback just fine.</p>
  
  <pre><code>$(selector).MyFancyWidget('option', 'onComplete', this._onComplete);
  </code></pre>
  
  <p>My issue is after the event fires I want to remove the callback from inside the _onComplete method.
  <br>
  onComplete is an event that gets fired in the widget using the _trigger method and works fine.
  Doing something like </p>
  
  <pre><code>$(selector).MyFancyWidget('option', 'onComplete', $.noop);
  </code></pre>
  
  <p>Does not detach the callback ( i assume it is just adding another listener.
  <br>
  For clarity here is the code inside the widget that will trigger the event.</p>
  
  <pre><code>instance._trigger('onComplete', e, {currentTarget: instance});
  </code></pre>
  
  <p>So my question here is how do I remove that callback?<br>
  It's not that I don't want to fire the event anymore I just don't want to listen to it anymore.</p>