Fork eventemitter inside the project. clean code on engine/socket, engine/transport. new convention on event handler parameters, all should include *args, **kwargs to have some extendability. Otherwise, on_xxx(a) will be broken by o.emit('xxx', a, b).