code: function (name, callback) {
          var self = this;
  
          function resolveCallbackName(name) {
            var callback, scope;
  
            if (typeof name != 'string') {
              return name;
            }
  
            return function (e) {
              if (!callback) {
                self.parentsAndSelf().each(function (ctrl) {
                  var callbacks = ctrl.settings.callbacks;
  
                  if (callbacks && (callback = callbacks[name])) {
                    scope = ctrl;
                    return false;
                  }
                });
              }
  
              if (!callback) {
                e.action = name;
                this.fire('execute', e);
                return;
              }
  
              return callback.call(scope, e);
            };
          }
  
          getEventDispatcher(self).on(name, resolveCallbackName(callback));
  
          return self;
        }
docs: Binds a callback to the specified event. This event can both be
  native browser events like "click" or custom ones like PostRender.
  
  The callback function will be passed a DOM event like object that enables yout do stop propagation.
  
  @method on
  @param {String} name Name of the event to bind. For example "click".
  @param {String/function} callback Callback function to execute ones the event occurs.
  @return {tinymce.ui.Control} Current control object.