the definitive event emitter component