private async Task _handleColonyDataPushAsync(MessageColonyDataPush res)
        {
            var s = await _shipManager.GetShipAsync(res.ShipID);

            if (s?.CurrentAreaId == null)
            {
                return;
            }

            var a = _galaxyManager.GetArea(s.CurrentAreaId);

            if (a?.AreaType != AreaTypes.Colony)
            {
                return;
            }

            _handleDataPush(res, (Colony)a, s);
        }
        private void _handleDataPush(MessageColonyDataPush data, Colony colony, IShip requestingShip)
        {
            switch (data.UpdateType)
            {
            case UpdateTypes.SetSlider:
            {
                SliderTypes sliderType  = (SliderTypes)(byte)data.FirstIdentifier;       //Dunno if the byte cast is necessary
                float       sliderValue = data.Data;
                colony.Sliders[sliderType].CurrentValue = sliderValue;

                break;
            }

            case UpdateTypes.AddConstructableToQueue:
            {
                throw new NotImplementedException();
                break;
            }

            case UpdateTypes.WithdrawResource:
            {
                throw new NotImplementedException();
                //TransactionSequence tr = new TransactionSequence();
                //tr.AddTransaction

                //_cargoSynchronizer.RequestAtomicTransactionSequence()
                break;
            }

            case UpdateTypes.DropResource:
            {
                throw new NotImplementedException();
                break;
            }
            }
        }