public void AddAbilityModifier(AbilityModifier mod) { mod.Initialize(); for (int i = 0; i < abilities.Count; i++) { mod.Apply(abilities[i]); } abilityModifiers.Add(mod); //todo maybe ref count these as well? or break into stacks }