Less node-js like emitter, more pipeline-oriented, one handler per type