Phil + I did some additional testing of this locally -- the @entity is shared across the same provider, so even with my fix, we only have to reload the entity once per provider-type, which is awesome and not nearly as expensive as I thought when writing it.