add emitter basics
add some impl
dont always use nexttick when emitting (like node.js does)