init = function (
  workspace,
  numBlocksPerCategory = 10,
  waitForFinishedLoading = true,
) {
  const suggestor = new BlockSuggestor(numBlocksPerCategory);
  workspace.registerToolboxCategoryCallback('MOST_USED', suggestor.getMostUsed);
  workspace.registerToolboxCategoryCallback(
    'RECENTLY_USED',
    suggestor.getRecentlyUsed,
  );
  // If user says not to wait to hear FINISHED_LOADING event,
  // then always respond to BLOCK_CREATE events.
  if (!waitForFinishedLoading) suggestor.workspaceHasFinishedLoading = true;
  workspace.addChangeListener(suggestor.eventListener);
  suggestorLookup.set(workspace, suggestor);
}
Main entry point to initialize the suggested blocks categories.
@param {Blockly.WorkspaceSvg} workspace the workspace to load into
@param {number} numBlocksPerCategory how many blocks should be included per
category. Defaults to 10.
@param {boolean} waitForFinishedLoading whether to wait until we hear the
FINISHED_LOADING event before responding to BLOCK_CREATE events. Set to false
if you disable events during initial load. Defaults to true.