The event bus pattern — also known as message bus or publisher/subscriber model — allows for the communication of two components to occur without either of them being immediately aware of the other. Rather than explicitly registering with every necessary service, a component now registers once with the event bus. Otto is Square’s library for implementing the event bus pattern in our applications.