Collect collection data into a model and keep it in sync