This class is an extension of JList that adds data shadowing the model embedded in a JList.
Since all changes to the model (except for the selected item!) must go through this interface,
we can support access to methods from non-event threads as long as these methods do not modify
the model.