implemented the observer pattern on controllers and datamodel, made Data Tracker class store models instead of GuiDesc storing them, added GuiFactory class
renamed DataTracker to DataModelCache, removed methods allow concurrenthashmap to work as intended, updated docs on DataModel
renamed GuiDesc to GuiTemplate, added docs to Factory