Entity extension currently works with an array of callbacks and registered services in a fairly error prone format.
We should aim to implement extension interfaces for extensions (and Wikibase itself) to implement for core required entity functionality.
This should provide a better extension end point, result in less errors, and make it much easier to see what is going on.
WikibaseRepoEntityTypes hook allows extensions (and Wikibase itself) to tread on each other's toes e.g. T279532.
The EntityTypeDefintions are not checked for validity until running the code that relies on them.