Changing DefaultMetaDataModel to abstract and some changes to MetaDataModelFactory