private void SyncWithHost()
        {
            SendToken();
            //("SlideSync", collectionId, rtoken.ResponseToken, identifier, _lastPage, pages)
            var tuple = Space.Get("SlideSync", typeof(string), _lastToken.ResponseToken, Session.Username, typeof(int), typeof(int));

            NumberOfPages = tuple.Get <int>(5);
            var page         = tuple.Get <int>(4);
            var collectionId = tuple.Get <string>(1);

            if (string.IsNullOrEmpty(_lastCollection) || collectionId != _lastCollection)
            {
                SetupRequest(collectionId);
            }
            var ftuple  = Session.LocalSpace.Query("Frame", page, typeof(FramePayload));
            var payload = ftuple.Get <FramePayload>(2);

            SlideShower.UpdateSlide(payload);
        }
        private void Consumer()
        {
            SyncWithHost();
            while (true)
            {
                SendToken();
                var tuple = Space.Get("SlideChange", typeof(string), _lastToken.ResponseToken, Session.Username, typeof(int), typeof(int));
                var page  = tuple.Get <int>(4);
                NumberOfPages = tuple.Get <int>(5);
                var collectionId = tuple.Get <string>(1);

                if (_lastCollection != collectionId)
                {
                    SetupRequest(collectionId);
                }

                var ftuple  = Session.LocalSpace.Query("Frame", page, typeof(FramePayload));
                var payload = ftuple.Get <FramePayload>(2);
                SlideShower.UpdateSlide(payload);
            }
        }