public MainViewModel(IPersonService personService) { _personService = personService; _people = new ObservableCollection<PersonHeaderViewModel>(); var task = _personService.LoadPeople(); task.ContinueWith(t => { DispatcherHelper.CheckBeginInvokeOnUI(delegate { foreach (var person in t.Result) _people.Add(new PersonHeaderViewModel { Id = person.Id, FullName = String.Format("{0}, {1}", person.LastName, person.FirstName) }); }); }); MessengerInstance.Register<PersonNameChanged>(this, message => { var person = _people.FirstOrDefault(p => p.Id == message.PersonId); if (person != null) person.FullName = String.Format("{0}, {1}", message.LastName, message.FirstName) }); }