public void Connect(string address)
        {
            Client = new CoreClient(address, connectionInfo.port, connectionInfo.secretKey);
            Client.RegisterNestedType <ConnectedPeer>();

            Client.RegisterToPacket <NetworkEntityJoinedGamePacket>()
            .Subscribe(OnNetworkEntityJoined)
            .AddTo(this);

            Client.RegisterToPacket <PlayerJoinRequestAcceptedPacket>()
            .Subscribe(OnPlayerJoinRequestAccepted)
            .AddTo(this);

            Client.RegisterToPacket <LoadScenePacket>()
            .Subscribe(OnLoadSceneRequest)
            .AddTo(this);

            Client.RegisterToPacket <InstantiateObjectPacket>()
            .Subscribe(OnInstantiateObjectRequest)
            .AddTo(this);

            Client.RegisterToPacket <DestroyObjectPacket>()
            .Subscribe(OnDestroyObjectRequest)
            .AddTo(this);

            Client.OnReceivedSerializedComponent()
            .Subscribe(OnReceivedSerializedComponent)
            .AddTo(this);

            Client.Start();
        }