EventDrivenTransformation and the related stuff. Also refactored the
common code base into abstract classes and interfaces.