/// <summary>
 /// Starts a component.
 /// </summary>
 public void Start()
 {
     _AddonFactory.Load();
     if (_AddonFactory.IsLoaded)
     {
         var plugin       = (_AddonFactory.Addon as IComponent);
         var pluginClient = _CommunicationController.CreateSharedClient(plugin.ClientConfiguration);
         //var tempId = plugin.FullyQualifiedName.Split(',')[0];
         var temporaryWorkingClient = _CommunicationController.CreateSharedClient(plugin.WorkingClientConfiguration);
         plugin.Initialize(_LogMarshal,
                           pluginClient,
                           temporaryWorkingClient,
                           _LogSourceId,
                           _CommunicationController.LogSourceId,
                           PackageConfiguration,
                           CustomConfiguration,
                           _InstallationRootPath,
                           _InstallPath,
                           _TemporaryPath,
                           _LongTermStoragePath,
                           _FolderAccessItems);
         plugin.Start();
     }
 }