recusion instead of broken loop
update EventEmitter implementation to tmpvar/node-eventemitter