docs: function suspendListeners(obj, eventNames, target, method, callback) {
    if (!method && 'function' === typeof target) {
      method = target;
      target = null;
    }
  
    var suspendedActions = [],
        eventName, actions, action, i, l;
  
    for (i=0, l=eventNames.length; i<l; i++) {
      eventName = eventNames[i];
      actions = actionsFor(obj, eventName);
      var actionIndex = indexOf(actions, target, method);
  
      if (actionIndex !== -1) {
        action = actions[actionIndex].slice();
        action[3] = true;
        actions[actionIndex] = action;
        suspendedActions.push(action);
      }
    }
  
    function tryable() { return callback.call(target); }
  
    function finalizer() {
      for (i = 0, l = suspendedActions.length; i < l; i++) {
        suspendedActions[i][3] = undefined;
      }
    }
  
    return Ember.tryFinally(tryable, finalizer);
  }