A key part of many applications that you might create is data. For a contact app, this could be a list of contact details; for a newsreader, it could be a list of articles; and for a task app, it could be a list of tasks.
In Alloy, data can be integrated into your application using Collections and Models. If you're familiar with
backbone.js, you may well have used Collections and Models already. If you haven't, note that a Model is a data object. In this case, it could be a single task item, so it could consist of a description and a status (complete or not). A collection is a list of models, in this case a list of tasks.
Because models and collections are event-driven, they respond to changes as they happen. This means that as you change a model, say its status being changed to completed, the change is instantly reflected in the model and any collection that contains it.