EventEmitter core + tests