eventListener(e) {
    if (e.type == Blockly.Events.FINISHED_LOADING) {
      this.workspaceHasFinishedLoading = true;
      return;
    }
    if (
      e.type == Blockly.Events.BLOCK_CREATE &&
      this.workspaceHasFinishedLoading
    ) {
      const newBlockType = e.json.type;
      // If this is the first time creating this block, store its default
      // configuration so we know how exactly to render it in the toolbox.
      if (!this.defaultJsonForBlockLookup[newBlockType]) {
        this.defaultJsonForBlockLookup[newBlockType] = e.json;
      }
      this.recentlyUsedBlocks.unshift(newBlockType);
    }
  }
Callback for when the workspace sends out events.
@param {!Blockly.Events.Abstract} e the event object