||ChangeListener is a very basic, very simple Interface that allows objects to
be alerted when something changes.
||This interface describes an object that needs to be further defined after
instantiation - i.e., either it has additional data it either cannot create
immediately, or it may need recreation after instantiation if its contents
||A DataController is an object that is both Createable and Destroyable - it
manages data over its entire life cycle, from creation to destruction.
||An object that is Destroyable contains data that needs to be flushed
differently than standard Garbage Collection.
||A Factory is just that - an object that creates objects of a particular type,
given a String as a base reference.
||An object that is Referenced has an associated string that somehow identifies
||A Retriever is an object that can be used to access another (single) object.