Look at Data Bus Pattern

DataBusPattern is a way of organizing communication among objects which don't know about existence of each other. Instead of calling other objects' methods directly, objects communicate by sending events to the bus which other bus members receive. An object must register with a bus to become its member and start to receive events sent to that bus. DataBusPattern is most similar to the MediatorPattern. The main difference is that there's no single object which manages communication.