public override void ViewWillDisappear(bool animated)
        {
            base.ViewWillDisappear(animated);

            LocationClient.DetachIgnoreListener();

            LocationManager.Stop();
            LocationManager.LocationUpdated -= OnLocationUpdate;

            PointClient.QueryFailed -= OnQueryFailed;
            PointClient.PointsAdded -= OnPointsAdded;

            ContentView.AddLocation.Click -= OnAddLocationClick;
            ContentView.Done.Click        -= OnLocationChosen;
            ContentView.Cancel.Click      -= OnLocationChoiceCancelled;

            PointClient.PointListener.Click -= OnPointClicked;

            ContentView.MapView.MapEventListener = null;
            MapListener.MapClicked -= OnMapClicked;

            ContentView.Popup.Closed -= OnPopupClosed;

            ContentView.Content.CameraField.Click -= OnCameraButtonClick;
            Camera.Instance.Delegate.Complete     -= OnCameraActionComplete;

            ContentView.Content.Done.Click -= OnDoneClick;
        }
        protected override void OnPause()
        {
            base.OnPause();

            LocationClient.DetachIgnoreListener();

            PointClient.QueryFailed -= OnQueryFailed;
            PointClient.PointsAdded -= OnPointsAdded;

            ContentView.Content.Done.Clicked -= OnDoneClick;

            ContentView.Content.CameraField.Click -= TakePicture;

            ContentView.Add.Clicked    -= OnAddLocationClick;
            ContentView.Done.Clicked   -= OnLocationChosen;
            ContentView.Cancel.Clicked -= OnLocationChoiceCancelled;

            ContentView.Popup.Closed -= OnPopupClosed;

            ContentView.MapView.MapEventListener = null;
            MapListener.MapClicked -= OnMapClicked;

            PointClient.PointListener.Click -= OnPointClicked;
        }