moving EventDispatchers to its own package and abstract class.