// ---------------------------------------------------------------------------------
        // --------------------------------- EVENT FUNCTIONS -------------------------------
        // ---------------------------------------------------------------------------------

        // Reset Lists / View when a new Ship is selected
        private void ShipSelectionChanged(SelectedShipEventArgs e) {
            this._selectedShip = e.Ship;
            this.Data.SelectedHardpoint = null;
            // get the new ships default loadout
            this.Data.Hardpoints = _loader.loadShipsHardpoints(e.Ship.Hardpoints);
            this.Data.Bulkheads = _loader.loadShipsBasics<BulkheadModel>(e.Ship.BaseEquip, ItemType.BULKHEADS);
            this.Data.PowerPlants = _loader.loadShipsBasics<PowerPlantModel>(e.Ship.BaseEquip, ItemType.POWERPLANT);
            this.Data.Thrusters = _loader.loadShipsBasics<ThrusterModel>(e.Ship.BaseEquip, ItemType.THURSTER);
            this.Data.FSDs = _loader.loadShipsBasics<FSDModel>(e.Ship.BaseEquip, ItemType.FSD);
            this.Data.LifeSupports = _loader.loadShipsBasics<LifeSupportModel>(e.Ship.BaseEquip, ItemType.LIFESUPPORT);
            this.Data.PowerDistributors = _loader.loadShipsBasics<PowerDistributorModel>(e.Ship.BaseEquip, ItemType.POWERDISTRIB);
            this.Data.Sensors = _loader.loadShipsBasics<SensorsModel>(e.Ship.BaseEquip, ItemType.SENSORES);
            this.Data.FuelTanks = _loader.loadShipsBasics<FuelTankModel>(e.Ship.BaseEquip, ItemType.FUELTANK);
            this.Data.UtilityMounts = _loader.loadShipsUtilities(e.Ship.UtilityMounts);
            this.Data.InternalComps1 = _loader.loadShipsInternals(e.Ship.InternalCompartments).First;
            this.Data.InternalComps2 = _loader.loadShipsInternals(e.Ship.InternalCompartments).Second;
            // Fire Event, when the Outfitting Item was changed
            OutfittingChangedEventArgs eventargs = new OutfittingChangedEventArgs(this.Data, true);
            this._eventAggregator.GetEvent<OutfittingChangedEvent>().Publish(eventargs);
        }
        // ---------------------------------------------------------------------------------
        // --------------------------------- EVENT FUNCTIONS -------------------------------
        // ---------------------------------------------------------------------------------

        // Send the new "SelectedShip" to the "OutfittingViewModel"
        private void ShipSelectionChanged() {
            SelectedShipEventArgs eventargs = new SelectedShipEventArgs(this.SelectedShip);
            this._eventAggregator.GetEvent<SelectedShipEvent>().Publish(eventargs);
            this.Data.resetDiscount();
        }