My response for Question 1 The Mediator design pattern gets used to coordinate communication between many colleagues. This would apply to your situation if that communication needed to exist. The Publisher-Subscriber pattern exists for one-way communication, from the Publisher to the Subscriber. From your description of the application, I agree that you have used the correct design pattern for the situation. However, you may need to reconsider your implementation since so much depends on your Publisher interface. My response for Question 2 Your Publisher-Subscriber framework should handle this. Instead of publishing to a local object (in the same process), it uses some sort of IPC. How this gets done depends on your implementation. However, if you've defined your Publisher-Subscriber interfaces correctly, you should have the ability to replace the classes that implement intraprocess communication with interprocess communication. Many RPC frameworks exist; for a starting point, check out Wikipedia[^]. "we must lose precision to make significant statements about complex systems." -deKorvin on uncertainty