Entity objects no longer have public constructors

**Summary:** The entity objects no longer have public constructors. Instead, protected constructors have been implemented.