private async void TimerHasTicked()
        {
            this.driver = await Ride2GoService.GetDriverUpdate(pollCount);

            var driverPosition = new Position()
            {
                Latitude = driver.Lat, Longitude = driver.Lon
            };

            var routeResult = await Ride2GoService.GetRoute(driverPosition, this.riderPosition, null);

            this.InvokeOnMainThread(
                () => {
                var annotation = new BasicMapAnnotation(new CLLocationCoordinate2D(driver.Lat, driver.Lon), driver.Name);
                this.MapView.RemoveAnnotations(this.MapView.Annotations);
                this.MapView.AddAnnotation(annotation);
                this.TimeLabel.Text = routeResult.Eta;
                pollCount++;
            });


            if (pollCount > 2)
            {
                this.timer.Elapsed -= TimerTick;
                Application.PresentOKAlert("Driver arrived", "Look for the blinking car",
                                           this,
                                           () => { });
                this.InvokeOnMainThread(() => { this.TimeLabel.Text = "arrived"; });
                Ride2GoService.MakeTheCarBlink();
            }
        }