Initial implementation of the ModelObserver class