Refreshing entity definition
This is as simple as reloading the entity.  The entity is loaded with the current fields, if new fields are added to the content type, the entity won't update on its own.

In my presave hook I check to see if new fields have been added at that time.  If so I wait til the media update hook is fired to reload.