code: function notify () {
      const newId = options.peerId
      const peerIds = Object.keys(peerTable)
      // check for all the peers
      // if same id skip
      // if notify === false skip
      // check the first finger that matches the criteria for ideal or next to ideal
      peerIds.forEach((peerId) => {
        if (newId === peerId) {
          return // skip ourselves
        }
        if (!peerTable[peerId].notify) {
          return // skip if it doesn't want to be notified of available peers
        }
  
        // if it had none, notify to get a successor
        if (peerTable[peerId].fingers['0'].current === undefined) {
          peerTable[peerId].fingers['0'].current = newId
          peerTable[peerId].socket.emit('we-update-finger', {
            row: '0',
            id: newId
          })
          return
        }
  
        const rows = Object.keys(peerTable[peerId].fingers)
        // find the first row that could use this finger
        rows.some((row) => {
          const finger = peerTable[peerId].fingers[row]
          const bestCandidate = fingerBestFit(
              new Id(peerId),
              new Id(finger.ideal),
              new Id(finger.current),
              new Id(newId))
          if (bestCandidate) {
            peerTable[peerId].fingers[row].current = newId
            peerTable[peerId].socket.emit('we-update-finger', {
              row: row,
              id: newId
            })
            return true
          }
        })
      })
    }
docs: notify if to other peers if this new Peer is a best finger for them