> The way it worked before, using "require('minecraft-protocol').createClient()" would "eat" those packets to a certain point (you could still listen to them, but there was a default listener that would take care of all the logic), but using "new require('minecraft-protocol').Client()", you would only have a bareback client without any packet handler by default 

Ah yes now I remember. I'm sorry to be pushy, but I'm quite fond of this way (the way that it worked before). What is the benefit that switching to this new way with [state, packetId] thing?