Retaining components is based on sample entities rather then Prefabs directly, as these might be modified by systems during entity creation. Improved performance of removing components that are no longer needed by iterating only through components that the entity actually has, rather than all of them.