ADDED EffectFactory For creating and caching effects