private async Task AddContact()
        {
            var viewModel = new ContactDetailsViewModel(new ContactViewModel(), _contactStore, _pageService);

            viewModel.ContactAdded += (ImageSource, contact) =>
            {
                Contacts.Add(new ContactViewModel(contact));
            };

            await _pageService.PushAsync(new ContactDetailPage(viewModel));
        }
        private async Task SelectContact(ContactViewModel contact)
        {
            if (contact == null)
            {
                return;
            }

            SelectedContact = null;

            var viewModel = new ContactDetailsViewModel(contact, _contactStore, _pageService);

            viewModel.ContactUpdated += (ImageSource, updatedContact) =>
            {
                contact.Id          = updatedContact.Id;
                contact.FirstName   = updatedContact.FirstName;
                contact.LastName    = updatedContact.LastName;
                contact.PhoneNumber = updatedContact.PhoneNumber;
                contact.Email       = updatedContact.Email;
                contact.IsBlocked   = updatedContact.IsBlocked;
            };

            await _pageService.PushAsync(new ContactDetailPage(viewModel));
        }