Refactor EffectChain