scheduler = new CancelableScheduler(configuration.getHeartbeatThreadPoolSize());
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);