Use EventEmitter for pub sub