How to talk from embedded containerControl to the window

The more general way is an Observer pattern or event notification bus. There’s a forum thread and article that talks about this and refers to the built-in ActionSource / ActionNotificationReceiver. It’s also not too hard to implement your own if this isn’t sufficient (and there are several threads on the forum about the Observer pattern): you have a manager class anyone can call to register to receive a notification for some event name (which can just be a string, so very flexible). When a caller registers for an event (in your case, ContainerControl-B), it gets added to a list for that event. Another object (ContainerControl-A) can then call the manager to notify that the event has occurred; the manager then walks the list calling those that have registered to let them know the event occurred and where it came from (call a callback method on ContainerControl-B saying event “A-Changed” occurred, maybe with a reference to ContainerControl-A). This typically will be implemented through a common interface so the manager (and maybe the objects, as well) can talk to each other.