CardDelegate.metaClass.afterPlay << {Closure closure ->
def eff = new net.zomis.cardshifter.ecs.effects.Effects();
EffectDelegate effect = new EffectDelegate()
closure.delegate = effect
closure.setResolveStrategy(Closure.DELEGATE_FIRST)
closure.call()
GameEffect eventConsumer = {Entity ent, ActionPerformEvent event ->
effect.perform(ent, event)
} as GameEffect
addEffect(entity(), new EffectComponent(effect.description.toString(), eventConsumer))