Refactoring interface and abstract base class for effects.