docs: function EventEmitter(name, node) {
          if ('string' !== typeof name) {
              throw new TypeError('EventEmitter constructor: name must be ' +
                                  'string. Found: ' + name);
          }
  
          this.node = node;
  
          // ## Public properties
  
          this.name = name;
  
          /**
           * ### EventEmitter.listeners
           *
           * Event listeners collection
           */
          this.events = {};
  
          /**
           * ## EventEmitter.recordChanges
           *
           * If TRUE, keeps tracks of addition and deletion of listeners
           *
           * @see EventEmitter.changes
           */
          this.recordChanges = false;
  
          /**
           * ## EventEmitter.changes
           *
           * If TRUE, keeps tracks of addition and deletion of listeners
           *
           * @see EventEmitter.recordChanges
           */
          this.changes = {
              added: [],
              removed: []
          };
  
          /**
           * ## EventEmitter.labels
           *
           * List of labels associated to an event listener
           *
           * @see EventEmitter.on
           */
          this.labels = {};
  
          /**
           * ### EventEmitter.history
           *
           * Database of emitted events
           *
           * @experimental
           *
           * @see NDDB
           * @see EventEmitter.EventHistory
           * @see EventEmitter.store
           */
          this.history = new EventHistory(this.node);
      }