public WeaponAnalysisViewModel()
        {
            PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == nameof(SelectedWeapon) ||
                    e.PropertyName == nameof(SelectedArmor) ||
                    e.PropertyName == nameof(SelectedShield) ||
                    e.PropertyName == nameof(SelectedHull) ||
                    e.PropertyName == nameof(WeaponCount) ||
                    e.PropertyName == nameof(ModHeavyArmor) ||
                    e.PropertyName == nameof(ModReinforcedHull))
                {
                    RaiseCalculatedWeaponProptiesChanged();
                }
            };

            InitializeTask = Initialize();
            InitializeTask.ContinueWith((T) =>
            {
                LoadErrorMessage = T.Exception?.Message;
            });
        }