The model (PointListModel class) mainly maintains a collection of list items (ListItem class). A List item stores the amount of the item, the item name, and a unique ID (i.e. a time stamp). The unique ID is used as a reference in the model and user interface. When a ListItem needs to be accessed, the object is retrieved from the model with the unique ID. The model stores the list items in a hash table; the key/value pair is the unique ID and ListItem instance.
A more general Sync application might contain other objects similar to ListItem and store them in a hash table or vector.