Further improvements and using button to trigger the update, management functions can be put in wrapper around the data, and we can manage this in the viewmodel