Entity Metadata Provider now working, default implementation is a lazy loading in memory cache, that checks to see if updated metadata is available on each access and updates it if necessary.