I must be thick. I can't seem to get my head around the separation issues here.
I have a window, with a menu panel on the left, and a central panel.
I have a controller which listens for and acts on button clicks in the menu panel.
One of these buttons creates a grid and renders it to the central panel.
Now, the grid has events to edit data - bring up a modal window etc.
Who should control those events ? A new controller ? If so, how is that new controller created ? I am following the path of adding the controller to the main app but not sure if that's the right thing to do.
Your app architecture is up to your app. I usually break my app up into features. Let's take an email program as an example...
You have an address book, folders and emails... each one of them can have their own controller. If a controller gets too big, you may need to reorganize things.