public SettingSorterOverlayVM(SettingScreenVM _parent)
 {
     PartyScreenConfig.ExtraSettings.PropertyChanged += OnEnableChange;
     _mainParty          = new SettingSorterPaneVM(_parent, "Main Party", PartyScreenConfig.ExtraSettings.PartySorter, value => PartyScreenConfig.ExtraSettings.PartySorter = value);
     _mainPrisoners      = new SettingSorterPaneVM(_parent, "Prisoners", PartyScreenConfig.ExtraSettings.PrisonerSorter, value => PartyScreenConfig.ExtraSettings.PrisonerSorter = value);
     _mainGarrisonAllied = new SettingSorterPaneVM(_parent, "Garrisons/Allied", PartyScreenConfig.ExtraSettings.GarrisonAndAlliedPartySorter, value => PartyScreenConfig.ExtraSettings.GarrisonAndAlliedPartySorter = value);
     _name = "Sorters";
     _hasSeparateSorting = PartyScreenConfig.ExtraSettings.SeparateSortingProfiles;
 }
        public override void OnFinalize()
        {
            base.OnFinalize();
            PartyScreenConfig.ExtraSettings.PropertyChanged -= OnEnableChange;
            _mainParty.OnFinalize();
            _mainPrisoners.OnFinalize();
            _mainGarrisonAllied.OnFinalize();

            _mainParty          = null;
            _mainPrisoners      = null;
            _mainGarrisonAllied = null;
            _name = null;
        }