public override object Evaluate(List <string> args, ExpressionEvaluator evaluator, Creature player, Target target, CastedSpell spell, RollResults dice = null)
        {
            Creature modOwner = Expressions.GetCustomData <Creature>(evaluator.Variables);

            if (modOwner == null)
            {
                throw new Exception($"Creature mod owner must be specified before evaluating expressions containing RemovePropertyMod.");
            }

            ExpectingArguments(args, 2);
            string propertyName = Expressions.GetStr(args[0], player, target, spell);
            string id           = Expressions.GetStr(args[1], player, target, spell);

            modOwner.RemovePropertyMod(propertyName, id);
            return(null);
        }