Introduce an interface EventProducer.