private void btnSetLane_Click(object sender, RoutedEventArgs e)
        {
            string number     = tbLaneNumber.Text.Trim();
            int    laneNumber = 0;

            if (!Int32.TryParse(number, out laneNumber))
            {
                return;
            }
            XBowlingDataGrabber DG = new XBowlingDataGrabber(laneNumber);
            Thread scoreUpdater    = new Thread(DG.Updater);

            scoreUpdater.Start();
            MH = new MainHelper(grid, challenge);
            Thread screenUpdater = new Thread(() => {
                while (true)
                {
                    if (DG.Scores != scores && DG.Scores.Count >= scores.Count)
                    {
                        scores = DG.Scores;
                        Dispatcher.Invoke(new Action(delegate()
                        {
                            int children = grid.Children.Count;
                            for (int i = 0; i < children; i++)
                            {
                                grid.Children.Remove(grid.Children[0]);
                            }
                            MH.AutoPopulation(DG.Scores);
                        }));
                    }
                    else
                    {
                        //nothing
                    }
                    System.Threading.Thread.Sleep(700);
                }
            });

            screenUpdater.Start();
            this.Topmost = true;
        }