changed MapDataModelIF from interface to abstract class in order to make it extend obervable instead of MapDataModel