constructor (port, newProtocol = stream => new Protocol(stream), newId = generateRandomId) {
    super()
    this._newProtocol = newProtocol
    this._server = null
    this._newId = newId
    this._clients = new Map()
    this._port = port
  }
This is communication channel handles the direct communication with TestKit using its protocol.

This implementation is meant to be run in NodeJS, it doesn't support Browser.