lib/Bridge.js
function Bridge(displayName, serialNumber) {
  Accessory.call(this, displayName, serialNumber);
  this._isBridge = true; // true if we are a Bridge (creating a new instance of the Bridge subclass sets this to true)
  this.bridgedAccessories = []; // If we are a Bridge, these are the Accessories we are bridging
}
function Bridge(displayName, serialNumber) {
  Accessory.call(this, displayName, serialNumber);
  this._isBridge = true; // true if we are a Bridge (creating a new instance of the Bridge subclass sets this to true)
  this.bridgedAccessories = []; // If we are a Bridge, these are the Accessories we are bridging
}
Bridge is a special type of HomeKit Accessory that hosts other Accessories "behind" it. This way you
can simply publish() the Bridge (with a single HAPServer on a single port) and all bridged Accessories
will be hosted automatically, instead of needed to publish() every single Accessory as a separate server.