code: function () {
  
            /**
             * The callback function grabbed from the array-like arguments
             * object. The first argument should always be the callback.
             *
             * @see [arguments]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments}
             * @type {*}
             */
            var callback = arguments[0];
  
            /**
             * Arguments to be passed to the callback. These are taken
             * from the array-like arguments object. The first argument
             * is stripped because that should be the callback function.
             *
             * @see [arguments]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments}
             * @type {Array}
             */
            var args = Array.prototype.slice.call(arguments, 1);
  
            if (angular.isDefined(callback)) {
              scope.$evalAsync(function () {
                if (angular.isFunction(callback)) {
                  callback(args);
                } else {
                  throw new Error('ui-ace use a function as callback.');
                }
              });
            }
          }
docs: Calls a callback by checking its existing. The argument list
  is variable and thus this function is relying on the arguments
  object.
  @throws {Error} If the callback isn't a function