class_docstr: A Link defines some connection between a source and target object
  in their visualization. It is quite similar to a Stream as it
  allows defining callbacks in response to some change or event on
  the source object, however, unlike a Stream, it does not transfer
  data and make it available to user defined subscribers. Instead
  a Link directly causes some action to occur on the target, for JS
  based backends this usually means that a corresponding JS callback
  will effect some change on the target in response to a change on
  the source.
  
  A Link must define a source object which is what triggers events,
  but must not define a target. It is also possible to define bi-
  directional links between the source and target object.
docstr: Register a LinkCallback providing the implementation for
  the Link for a particular backend.
docstr_tok: ["Register","a","LinkCallback","providing","the","implementation","for","the","Link","for","a","particular","backend","."]
code: def register_callback(cls, backend, callback):
      """
      Register a LinkCallback providing the implementation for
      the Link for a particular backend.
      """
      cls._callbacks[backend][cls] = callback
  
imports: import weakref
  from collections import defaultdict
  import param
  from ..core.util import dimension_sanitizer
label_desc: Use image node_id 2 for calling the Link obj's underlying member method code with example usage: obj.register_callback(cls, backend, callback) without return types