Jupyter widgets communication (pub-sub)

Hi guys,
We are following a custom widget for spreadsheets inside the jupyter notebook.
We have support for references in the spreadsheets.
We want to implement a functionality where its possible to reference another sheet cell (cross-sheet referencing).
For this, we might need the ability to communicate to other custom widget instance using messages and ability to listen for the messages. We want some guidance around it. Which functionality of ipywidget can we use to achieve this?
Basically, we want pub-sub mechanism across several custom widget instances.