public DestinationLocationEditorViewModel(
            ISchedulerProvider schedulerProvider,
            INavigationService navigationService,
            IPlacesProvider placesProvider,
            IGeocodingProvider geocodingProvider,
            IChooseOnMapViewModelFactory chooseOnMapViewModelFactory,
            IEmptyAutocompleteResultProvider autocompleteResultProvider,
            ISelectedDestinationByMapSubscriber destinationByMapSubscriber)
            : base(schedulerProvider, placesProvider, geocodingProvider, navigationService)
        {
            _navigationService           = navigationService;
            _chooseOnMapViewModelFactory = chooseOnMapViewModelFactory;
            _autocompleteResultProvider  = autocompleteResultProvider;

            this.Changed(() => SelectedSearchResult)
            .Where(r => r is SetLocationOnMapResultModel)
            .ObserveOn(schedulerProvider.SynchronizationContextScheduler)
            .Subscribe(NavigateToChooseDestinationOnMapViewModel);

            destinationByMapSubscriber.Publisher.Handler.Subscribe(address =>
            {
                SelectedAddress = address;
                navigationService.GoBack();
            });
        }