public override void Execute(IImpactChangePerkCharges data)
        {
            var value    = (int)_logic.Calculate(data.Value);
            var unitData = _units.ExplorerUnits
                           .Select(x => {
                var(unit, _) = _units.GetUnit(x);
                return(unit);
            })
                           .FirstOrDefault(x => {
                x.PerkCharges.TryGetValue(data.PerkId, out value);
                return(value > 0);
            });

            if (unitData == null)
            {
                throw new Exception($"Закончились заряды перка");
            }
            unitData.PerkCharges[data.PerkId] -= 1;
            LogicLog.ChangePerkCharge(data.PerkId, value);
        }