The AppControlBarMediator manages multiple components; all those within the AppControlBar. But technically it has only one viewComponent property.
Note that in beginSearch
private function beginSearch( event:Event=null ):void
{
codeSearchProxy.search( controlBar.searchTI.text, controlBar.searchCombo.selectedItem );
}
It actually references the components within the controlbar. Note that this IS NOT a best practice, but illustrates that it is possible for the Mediator to be as aware of the internals of the view component as necessary. A better way to do this would be to bind the values being read into public properties on the controlbar so the mediator is not aware of the internals. This makes the component more portable, but would have made the demo less readable.
For handling a popup, you might want to read this article:
http://www.nutrixinteractive.com/blog/?p=76-=Cliff>