### Mission

We have implemented a version of the Publisher Subscriber pattern (also known as Observer pattern) to allow our components to communicate and share state when needed, without being tightly coupled.  This will afford us more ability to make low impact changes, as well as test each component with narrow and focused unit tests.

A canonical usage of the design can be seen in the `sample` package, and is diagrammed below:
![Alt Text](resources/Segmenter%20ML%20pub-sub.drawio.png)