Complete and clean up EventEmitter API