constructor(
    workspaceId,
    getSnapshotHandler,
    getEventsHandler,
    addEventsHandler,
    broadcastEventsHandler,
  ) {
    this.workspaceId = workspaceId;
    this.lastSync = 0;
    this.inProgress = [];
    this.notSent = [];
    this.activeChanges = [];
    this.writeInProgress = false;
    this.counter = 0;
    this.serverEvents = [];
    this.updateInProgress = false;
    this.getSnapshotHandler = getSnapshotHandler;
    this.getEventsHandler = getEventsHandler;
    this.addEventsHandler = addEventsHandler;
    this.broadcastEventsHandler = broadcastEventsHandler;
    this.listener = new EventEmitter();
  }
Class for managing events between the workspace and the server.
@param {string} workspaceId The id of the Blockly.Workspace instance this
client corresponds to.