async start() {
    // Load the current state of the workspace.
    const workspace = Blockly.Workspace.getById(this.workspaceId);
    const snapshot = await this.getSnapshotHandler();
    Blockly.Xml.domToWorkspace(snapshot.xml, workspace);
    this.lastSync = snapshot.serverId;

    // Run any events that may have happened while loading the workspace.
    const events = await this.getEventsHandler(this.lastSync);
    this.addServerEvents_(events);

    // Enable handlers.
    if (this.broadcastEventsHandler) {
      this.broadcastEventsHandler(this.addServerEvents_.bind(this));
    } else {
      this.pollServer_();
    }
  }
Initiate the workspace by loading the current workspace and activating the
handlers for sending and recieving events between the client and server.
@public