public void Dispose()
{
_pluginRunner.ApplyDone -= new EventHandler<ApplyDoneEventArgs>( OnApplyDone );
VMApplicationInfo.Dispose();
foreach( VMIBase vm in _plugins.Values )
vm.Dispose();
foreach( VMIBase vm in _allServices.Values )
vm.Dispose();
foreach( VMIBase vm in _dynamicServices.Values )
vm.Dispose();
foreach( VMIBase vm in _assemblies.Values )
vm.Dispose();
}