code: function (current, previous) {
            if (current === previous) return;
            opts = angular.extend({}, options, scope.$eval(attrs.uiAce));
  
            opts.callbacks = [ opts.onLoad ];
            if (opts.onLoad !== options.onLoad) {
              // also call the global onLoad handler
              opts.callbacks.unshift(options.onLoad);
            }
  
            // EVENTS
  
            // unbind old change listener
            session.removeListener('change', onChangeListener);
  
            // bind new change listener
            onChangeListener = listenerFactory.onChange(opts.onChange);
            session.on('change', onChangeListener);
  
            // unbind old blur listener
            //session.removeListener('blur', onBlurListener);
            acee.removeListener('blur', onBlurListener);
  
            // bind new blur listener
            onBlurListener = listenerFactory.onBlur(opts.onBlur);
            acee.on('blur', onBlurListener);
  
            setOptions(acee, session, opts);
          }
docs: Listen for option updates