docs: function ThaliNotificationClient(thaliPeerPoolInterface, ecdhForLocalDevice) {
    EventEmitter.call(this);
    var self = this;
  
    assert(thaliPeerPoolInterface,
      ThaliNotificationClient.Errors.PEERPOOL_NOT_NULL);
    assert(ecdhForLocalDevice,
      ThaliNotificationClient.Errors.EDCH_FOR_LOCAL_DEVICE_NOT_NULL);
  
    this.peerDictionary = null;
    this._thaliPeerPoolInterface = thaliPeerPoolInterface;
    this._ecdhForLocalDevice = ecdhForLocalDevice;
    this._publicKeysToListen = [];
    this._publicKeysToListenHashes = [];
    this._boundListener = this._peerAvailabilityChanged.bind(this);
  
    this._addressBookCallback = function (unencryptedKeyId) {
  
      if (!Buffer.isBuffer(unencryptedKeyId)) {
        logger.warn('_addressBookCallback: unencryptedKeyId is not an buffer');
        return null;
      }
  
      for (var i = 0 ; i < self._publicKeysToListenHashes.length ; i++) {
        var pubKeyHash = self._publicKeysToListenHashes[i];
        if (unencryptedKeyId.compare(pubKeyHash) === 0) {
          return self._publicKeysToListen[i];
        }
      }
      return null;
    };
  }