inline EventEmitter
call toString() only if we need to