/// <summary>
 /// A simple constructor that initializes the object with its dependencies.
 /// </summary>
 /// <param name="p_ModManager">The current ModManager.</param>
 /// <param name="p_lstMods">The mod list.</param>
 /// <param name="p_intNewValue">The new category id.</param>
 public ModMigrationTask(MainFormVM p_fvmViewModel, ModManagerControl p_mmgModManagerControl, bool p_booMigrate, ConfirmActionMethod p_camConfirm)
 {
     ViewModel           = p_fvmViewModel;
     ModManagerControl   = p_mmgModManagerControl;
     m_booMigrate        = p_booMigrate;
     ConfirmActionMethod = p_camConfirm;
 }
        /// <summary>
        /// Sets up the mod migration task.
        /// </summary>
        public IBackgroundTask ModMigration(MainFormVM p_vmlViewModel, ModManagerControl p_mmgModManagerControl, bool p_booMigrate, ConfirmActionMethod p_camConfirm)
        {
            ModMigrationTask mmtModMigrationTask = new ModMigrationTask(p_vmlViewModel, p_mmgModManagerControl, p_booMigrate, p_camConfirm);

            if (VirtualModActivator.GameMode.LoadOrderManager != null)
            {
                VirtualModActivator.GameMode.LoadOrderManager.MonitorExternalTask(mmtModMigrationTask);
            }
            else
            {
                mmtModMigrationTask.Update(p_camConfirm);
            }
            return(mmtModMigrationTask);
        }