You should really have a look at KPart and its internals. All the problems you describe have been faced and solved by KDE.
I understand the component activation is quite tricky, espcially if you plan to have two components displayed in a widget. Get in contact with David Faure and Simon Haussman (or simply kde-core-devel) to see if they can provide you some insights.
