Refactoring Entity to be a safe to store and pass by value reference to an internal entity (EntityInfo)