docs: function (callbackDefinition) {
  
          // normalise definition
          callbackDefinition = this.$normCallback(callbackDefinition);
  
          var valid = ariaUtilsType.isFunction(callbackDefinition.fn);
  
          /**
           * Scope for callback execution
           * @type Object
           */
          this._scope = valid ? callbackDefinition.scope : this;
  
          /**
           * Function to execute
           * @type Function
           */
          this._function = valid ? callbackDefinition.fn : this._warnDisposed;
  
          /**
           * Arguments given when creating the callback
           * @type Object
           */
          this._args = callbackDefinition.args;
  
          /**
           * Index of the result or event object in the arguments passed to the callback function
           * @type Integer
           */
          this._resIndex = callbackDefinition.resIndex;
  
          /**
           * Whether we should use Function.call or Function.apply for args. Used only if args is an array
           * @type Boolean
           * @protected
           */
          this._apply = callbackDefinition.apply;
  
      }