Improved EventEmitter