code: function (target, name, func, scope) {
          var self = this;
  
          if (Tools.isArray(target)) {
            var i = target.length;
  
            while (i--) {
              target[i] = self.bind(target[i], name, func, scope);
            }
  
            return target;
          }
  
          // Collect all window/document events bound by editor instance
          if (self.settings.collect && (target === self.doc || target === self.win)) {
            self.boundEvents.push([target, name, func, scope]);
          }
  
          return self.events.bind(target, name, func, scope || self);
        }
docs: Adds an event handler to the specified object.
  
  @method bind
  @param {Element/Document/Window/Array} target Target element to bind events to.
  handler to or an array of elements/ids/documents.
  @param {String} name Name of event handler to add, for example: click.
  @param {function} func Function to execute when the event occurs.
  @param {Object} scope Optional scope to execute the function in.
  @return {function} Function callback handler the same as the one passed in.