public EffectInstance NewInstance(IAffectable caster, IAffectable target = null) { EffectInstance instance = this.Copy <EffectInstance>(); instance.IsActive = true; instance.target = target; instance.caster = caster; instance.initialize(); return(instance); }