This model describes the generic domain objects (Hibernate) and the relation between them.
User is the corner stone. It represents a site vititor signed into the platform. Objects not attached to the User used by the platform itself (eg. Setting) or exist to provide common behaviour across all packs (eg. Map). Packs add to this model by extending the Pack domain object and attaching its own domain objects to it.