private void getAvailableGames()
        {
            if (_restFacilitator == null)
                _restFacilitator = new RestfulSilverlight.RestFacilitator();

            if (_restService == null)
                _restService = new RestfulSilverlight.RestService(_restFacilitator, BASE_URI);

            if (_restAsyncDelegation == null)
                _restAsyncDelegation = new RestfulSilverlight.AsyncDelegation(_restService);

            _restAsyncDelegation.Get<List<Entities.Game>>("list", new { cache = Guid.NewGuid() })
                   .WhenFinished(
                   result =>
                   {
                       var yourgames = (from g in result select g).Distinct();

                       lbYourGames.ItemsSource = yourgames;
                   });

            // execute the async request
            _restAsyncDelegation.Go();

            // create the delay object if it hasn't been created
            if (_restDelayExec == null)
                _restDelayExec = new RestfulSilverlight.DelayExecution();

            // reset the delay timer
            _restDelayExec.SetTimeout(5000, new Action(getAvailableGames));
        }
        private void InitializeRestful()
        {
            if (_restFacilitator == null)
                _restFacilitator = new RestfulSilverlight.RestFacilitator();

            if (_restService == null)
                _restService = new RestfulSilverlight.RestService(_restFacilitator, MainPage.BASE_URI);

            if (_restAsyncDelegation == null)
                _restAsyncDelegation = new RestfulSilverlight.AsyncDelegation(_restService);

            getGameUpdate();
        }