public void start(Configuration configuration, NamespacesHub namespacesHub) {
this.configuration = configuration;
ackManager = new AckManager(scheduler);
JsonSupport jsonSupport = configuration.getJsonSupport();
Encoder encoder = new Encoder(configuration, jsonSupport);
Decoder decoder = new Decoder(jsonSupport, ackManager);
heartbeatHandler = new HeartbeatHandler(configuration, scheduler);
PacketListener packetListener = new PacketListener(heartbeatHandler, ackManager, namespacesHub);