code: def _update_callbacks(self, plot):
          
          subplots = self.traverse(lambda x: x, [GenericElementPlot])
          merged_tools = {t: list(plot.select({'type': TOOL_TYPES[t]}))
                          for t in self._merged_tools}
          for subplot in subplots:
              for cb in subplot.callbacks:
                  for c in cb.callbacks:
                      for tool, objs in merged_tools.items():
                          if tool in c.args and objs:
                              c.args[tool] = objs[0]
                      if self.top_level:
                          c.code = c.code.replace('PLACEHOLDER_PLOT_ID', self.id)
docs: Iterates over all subplots and updates existing CustomJS
          callbacks with models that were replaced when compositing
          subplots into a CompositePlot and sets the plot id to match
          the root level bokeh model.