code: function addCallbacks(transformedOpts, newUploaderInstance) {
          var callbacks = transformedOpts.callbacks = {};
  
          $.each(newUploaderInstance._options.callbacks, function(prop, nonJqueryCallback) {
              var name, callbackEventTarget;
  
              name = /^on(\w+)/.exec(prop)[1];
              name = name.substring(0, 1).toLowerCase() + name.substring(1);
              callbackEventTarget = $el;
  
              callbacks[prop] = function() {
                  var originalArgs = Array.prototype.slice.call(arguments),
                      transformedArgs = [],
                      nonJqueryCallbackRetVal, jqueryEventCallbackRetVal;
  
                  $.each(originalArgs, function(idx, arg) {
                      transformedArgs.push(maybeWrapInJquery(arg));
                  });
  
                  nonJqueryCallbackRetVal = nonJqueryCallback.apply(this, originalArgs);
  
                  try {
                      jqueryEventCallbackRetVal = callbackEventTarget.triggerHandler(name, transformedArgs);
                  }
                  catch (error) {
                      qq.log("Caught error in Fine Uploader jQuery event handler: " + error.message, "error");
                  }
  
                  /*jshint -W116*/
                  if (nonJqueryCallbackRetVal != null) {
                      return nonJqueryCallbackRetVal;
                  }
                  return jqueryEventCallbackRetVal;
              };
          });
  
          newUploaderInstance._options.callbacks = callbacks;
      }
docs: Implement all callbacks defined in Fine Uploader as functions that trigger appropriately names events and return the result of executing the bound handler back to Fine Uploader