You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2024/11/29 14:02:00 UTC

(causeway) branch v3 updated: CAUSEWAY-2297: further renaming 'entity' -> 'object' (enums, HTML, CSS)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/v3 by this push:
     new ebb4d5e601b CAUSEWAY-2297: further renaming 'entity' -> 'object' (enums, HTML, CSS)
ebb4d5e601b is described below

commit ebb4d5e601b05c51441a6d339c56e034d8f05396
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Nov 29 15:01:54 2024 +0100

    CAUSEWAY-2297: further renaming 'entity' -> 'object' (enums, HTML, CSS)
---
 .../testdomain/conf/Configuration_usingWicket.java |  8 +--
 .../commons/model/components/UiComponentType.java  | 24 ++++-----
 viewers/wicket/ui/src/main/java/module-info.java   | 26 ++++-----
 .../wicket/ui/CollectionContentsAsFactory.java     |  2 +-
 .../serviceactions/ServiceActionsPanel.css         | 38 ++++++--------
 .../actionprompt/ActionPromptHeaderPanel.html      |  2 +-
 .../actionprompt/ActionPromptHeaderPanel.java      |  2 +-
 .../components/actions/ActionParametersPanel.html  |  2 +-
 .../components/actions/ActionParametersPanel.java  |  2 +-
 .../attributes/AttributeFragmentFactory.java       |  2 +-
 .../attributes/AttributePanelWithFormField.html    | 12 ++---
 .../AttributePanelWithFormField_xray.html          | 10 ++--
 .../choices/ObjectChoicesAttributePanel.java       | 56 ++++++++++----------
 .../export/CollectionContentsAsExportFactory.java  |  2 +-
 .../parented/ParentedCollectionPanel.html}         |  0
 .../parented/ParentedCollectionPanel.java}         | 21 ++++----
 .../parented/ParentedCollectionPanelFactory.java}  | 14 ++---
 .../CollectionContentsAsAjaxTablePanel.css         |  4 +-
 .../CollectionContentsAsAjaxTablePanel.html        |  0
 .../CollectionContentsAsAjaxTablePanel.java        | 18 +++----
 .../CollectionContentsAsAjaxTablePanelFactory.java |  2 +-
 .../CollectionContentsSortableDataProvider.java    |  2 +-
 .../present}/ajaxtable/columns/ActionColumn.java   |  2 +-
 .../columns/AssociationColumnAbstract.java         |  4 +-
 .../columns/ColumnAbbreviationOptions.java         |  2 +-
 .../present}/ajaxtable/columns/GenericColumn.java  |  2 +-
 .../ajaxtable/columns/GenericColumnAbstract.java   |  4 +-
 .../present}/ajaxtable/columns/PluralColumn.java   | 10 ++--
 .../present}/ajaxtable/columns/SingularColumn.java |  2 +-
 .../present}/ajaxtable/columns/TitleColumn.java    | 12 ++---
 .../ajaxtable/columns/ToggleboxColumn.java         |  2 +-
 .../icons/CollectionContentsAsIconsPanel.html      |  2 +-
 .../icons/CollectionContentsAsIconsPanel.java      | 10 ++--
 .../CollectionContentsAsIconsPanelFactory.java     |  2 +-
 .../CollectionContentsMultipleViewsPanel.html      |  0
 .../CollectionContentsMultipleViewsPanel.java      |  2 +-
 ...ollectionContentsMultipleViewsPanelFactory.java |  2 +-
 .../summary/CollectionContentsAsSummary.html       |  0
 .../summary/CollectionContentsAsSummary.java       |  2 +-
 .../CollectionContentsAsSummaryFactory.java        |  2 +-
 .../unresolved/CollectionContentsHiddenPanel.html  |  0
 .../unresolved/CollectionContentsHiddenPanel.java  |  2 +-
 .../CollectionContentsHiddenPanelFactory.java      |  2 +-
 .../CollectionPresentationSelectorHelper.java      |  8 +--
 .../standalone}/StandaloneCollectionPanel.html     |  0
 .../standalone}/StandaloneCollectionPanel.java     |  2 +-
 .../StandaloneCollectionPanelFactory.java          |  2 +-
 .../components/layout/bs/BSGridPanelFactory.java   |  4 +-
 .../wicket/ui/components/layout/bs/col/Col.html    | 10 ++--
 .../wicket/ui/components/layout/bs/col/Col.java    | 16 +++---
 .../ObjectComponentFactoryAbstract.java}           | 14 ++---
 .../{entity => object}/fieldset/PropertyGroup.html |  0
 .../{entity => object}/fieldset/PropertyGroup.java |  2 +-
 .../header/ObjectHeaderPanel.html}                 | 10 ++--
 .../header/ObjectHeaderPanel.java}                 | 14 ++---
 .../header/ObjectHeaderPanelFactory.java}          | 14 ++---
 .../icontitle/ObjectIconAndTitlePanel.html}        | 12 ++---
 .../icontitle/ObjectIconAndTitlePanel.java}        | 46 ++++++++--------
 .../icontitle/ObjectIconAndTitlePanelFactory.java} | 18 +++----
 .../ObjectIconTitleAndCopyLinkPanel.html}          |  0
 .../ObjectIconTitleAndCopyLinkPanel.java}          |  8 +--
 .../ObjectIconTitleAndCopyLinkPanelFactory.java}   | 14 ++---
 .../ui/components/property/PropertyEditPanel.html  |  2 +-
 .../ui/components/property/PropertyEditPanel.java  |  2 +-
 .../PropertyEditPromptHeaderPanel.html             |  2 +-
 .../PropertyEditPromptHeaderPanel.java             |  2 +-
 .../ui/components/table/CausewayAjaxDataTable.java |  2 +-
 .../table/DataTableWithPagesAndFilter.java         |  4 +-
 .../ui/components/table/head/HeadersToolbar.java   |  2 +-
 .../table/head/HeadersToolbarAbstract.java         |  6 +--
 .../tree/CausewayToWicketTreeAdapter.java          |  4 +-
 .../ObjectLinkSimplePanel.css}                     |  6 +--
 .../ObjectLinkSimplePanel.html}                    |  8 +--
 .../ObjectLinkSimplePanel.java}                    | 22 ++++----
 .../ObjectLinkSimplePanelFactory.java}             | 10 ++--
 .../widgets/themepicker/ThemeChooser.java          |  3 +-
 .../bootstrap/css/bootstrap-overrides-all-v2.css   | 61 ++++++++++------------
 .../wicket/ui/pages/obj/DomainObjectPage.css       |  6 +--
 .../wicket/ui/pages/obj/DomainObjectPage.java      |  4 +-
 .../components/ComponentFactoryConfigWkt.java      | 32 ++++++------
 80 files changed, 334 insertions(+), 353 deletions(-)

diff --git a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
index e89be3e1921..73d3811c430 100644
--- a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
+++ b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
@@ -102,7 +102,7 @@ public class Configuration_usingWicket {
 
         public static final String OPEN_SAMPLE_ACTION = "theme:domainObjectContainer:domainObject:rows:1"
                 + ":rowContents:1"
-                + ":col:entityHeaderPanel:entityActions:additionalLinkList:additionalLinkItem:1"
+                + ":col:objectHeaderPanel:objectActions:additionalLinkList:additionalLinkItem:1"
                 + ":actionLink";
 
         public static final String OPEN_SAMPLE_ACTION_TITLE = OPEN_SAMPLE_ACTION
@@ -147,11 +147,11 @@ public class Configuration_usingWicket {
                 + ":scalarNameBeforeValue";
 
         public static final String FAVORITE_BOOK_ENTITY_LINK = FAVORITE_BOOK_SCALAR
-                + ":container-fieldFrame:scalarValueInlinePromptLink:container-scalarValue:entityLink"
-                + ":entityIconAndTitle:entityLinkWrapper:entityLink";
+                + ":container-fieldFrame:scalarValueInlinePromptLink:container-scalarValue:objectLink"
+                + ":objectIconAndTitle:objectLinkWrapper:objectLink";
 
         public static final String FAVORITE_BOOK_ENTITY_LINK_TITLE = FAVORITE_BOOK_ENTITY_LINK
-                + ":entityTitle";
+                + ":objectTitle";
 
         @RequiredArgsConstructor
         public static enum SimulatedProperties implements SimulatedProperty {
diff --git a/viewers/commons/model/src/main/java/org/apache/causeway/viewer/commons/model/components/UiComponentType.java b/viewers/commons/model/src/main/java/org/apache/causeway/viewer/commons/model/components/UiComponentType.java
index 4edd94b2902..c7e2fe6f399 100644
--- a/viewers/commons/model/src/main/java/org/apache/causeway/viewer/commons/model/components/UiComponentType.java
+++ b/viewers/commons/model/src/main/java/org/apache/causeway/viewer/commons/model/components/UiComponentType.java
@@ -58,27 +58,27 @@ public enum UiComponentType {
      */
     DOMAIN_OBJECT,
     /**
-     * Icon and title for a single entity.
+     * Icon and title for a single domain object.
      */
-    ENTITY_ICON_AND_TITLE,
+    OBJECT_ICON_AND_TITLE,
     /**
-     * Icon, title and a copy link for a single entity.
+     * Icon, title and a copy link for a single domain object.
      */
-    ENTITY_ICON_TITLE_AND_COPYLINK,
+    OBJECT_ICON_TITLE_AND_COPYLINK,
     /**
-     * Title, icon and action list for a single entity.
+     * Title, icon and action list for a single domain object.
      */
-    ENTITY_SUMMARY,
+    OBJECT_SUMMARY,
     /**
-     * A single &quot;parented&quot; collection of an entity.
+     * A single &quot;parented&quot; collection of domain objects.
      * <p>
      * Note that the default implementation is actually a wrapper that provides a selector over all available
      * individual representations of the entity by way of {@link #COLLECTION_CONTENTS} component type.  The
      * framework provides a number of implementations of this lower-level component: as a table, as
-     * collapsed/hidden, as a summary.  Any additional representations that are found that can render the
+     * collapsed/hidden, as a summary. Any additional representations that are found that can render the
      * collection (eg map, calendar) are added to the selector.
      */
-    ENTITY_COLLECTION,
+    PARENTED_COLLECTION,
     /**
      * A single standalone value, as might be returned from an action.
      */
@@ -125,11 +125,11 @@ public enum UiComponentType {
      */
     COLLECTION_CONTENTS_EXPORT(Optionality.OPTIONAL),
     /**
-     * A link to an entity.
+     * A link to a domain object.
      */
-    ENTITY_LINK,
+    OBJECT_LINK,
     /**
-     * A collection of entities, from an action, but none returned.
+     * A collection of objects, from an action, but none returned.
      */
     EMPTY_COLLECTION,
     /**
diff --git a/viewers/wicket/ui/src/main/java/module-info.java b/viewers/wicket/ui/src/main/java/module-info.java
index 17b7ff63992..b187e7e1674 100644
--- a/viewers/wicket/ui/src/main/java/module-info.java
+++ b/viewers/wicket/ui/src/main/java/module-info.java
@@ -44,18 +44,18 @@ module org.apache.causeway.viewer.wicket.ui {
     exports org.apache.causeway.viewer.wicket.ui.components.collection.count;
     exports org.apache.causeway.viewer.wicket.ui.components.collection.selector;
     exports org.apache.causeway.viewer.wicket.ui.components.collection;
-    exports org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
-    exports org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable;
-    exports org.apache.causeway.viewer.wicket.ui.components.collectioncontents.icons;
-    exports org.apache.causeway.viewer.wicket.ui.components.collectioncontents.multiple;
-    exports org.apache.causeway.viewer.wicket.ui.components.collectioncontents.summary;
-    exports org.apache.causeway.viewer.wicket.ui.components.collectioncontents.unresolved;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.present.icons;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.present.multiple;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.present.summary;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.present.unresolved;
     exports org.apache.causeway.viewer.wicket.ui.components.empty;
-    exports org.apache.causeway.viewer.wicket.ui.components.entity.collection;
-    exports org.apache.causeway.viewer.wicket.ui.components.entity.fieldset;
-    exports org.apache.causeway.viewer.wicket.ui.components.entity.header;
-    exports org.apache.causeway.viewer.wicket.ui.components.entity.icontitle;
-    exports org.apache.causeway.viewer.wicket.ui.components.entity;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.parented;
+    exports org.apache.causeway.viewer.wicket.ui.components.object.fieldset;
+    exports org.apache.causeway.viewer.wicket.ui.components.object.header;
+    exports org.apache.causeway.viewer.wicket.ui.components.object.icontitle;
+    exports org.apache.causeway.viewer.wicket.ui.components.object;
     exports org.apache.causeway.viewer.wicket.ui.components.footer;
     exports org.apache.causeway.viewer.wicket.ui.components.header;
     exports org.apache.causeway.viewer.wicket.ui.components.layout.bs.clearfix;
@@ -65,7 +65,7 @@ module org.apache.causeway.viewer.wicket.ui {
     exports org.apache.causeway.viewer.wicket.ui.components.layout.bs;
     exports org.apache.causeway.viewer.wicket.ui.components.property;
     exports org.apache.causeway.viewer.wicket.ui.components.propertyheader;
-    exports org.apache.causeway.viewer.wicket.ui.components.standalonecollection;
+    exports org.apache.causeway.viewer.wicket.ui.components.collection.standalone;
     exports org.apache.causeway.viewer.wicket.ui.components.tree.themes.bootstrap;
     exports org.apache.causeway.viewer.wicket.ui.components.tree.themes;
     exports org.apache.causeway.viewer.wicket.ui.components.tree;
@@ -78,7 +78,7 @@ module org.apache.causeway.viewer.wicket.ui {
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.breadcrumbs;
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.buttons;
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.checkbox;
-    exports org.apache.causeway.viewer.wicket.ui.components.widgets.entitysimplelink;
+    exports org.apache.causeway.viewer.wicket.ui.components.widgets.objectsimplelink;
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.formcomponent;
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.links;
     exports org.apache.causeway.viewer.wicket.ui.components.widgets.navbar;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/CollectionContentsAsFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/CollectionContentsAsFactory.java
index 14f6d83c680..ebecbedddaa 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/CollectionContentsAsFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/CollectionContentsAsFactory.java
@@ -26,7 +26,7 @@ import org.apache.causeway.commons.internal.base._Strings;
  * An interface for {@link org.apache.causeway.viewer.wicket.ui.ComponentFactory component factories}
  * (e.g. CollectionContentAsXyzFactory which provides specific title and CSS class)
  * for their representation in
- * {@link org.apache.causeway.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel}.
+ * {@link org.apache.causeway.viewer.wicket.ui.components.collection.present.multiple.CollectionContentsMultipleViewsPanel}.
  * <p>
  * If the {@link org.apache.causeway.viewer.wicket.ui.ComponentFactory} doesn't implement this interface or the implementation
  * of any of its methods return {@code null} then {@link ComponentFactory#getName()} will be used as title
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
index 6f65e140d34..2f42067cf2a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionlinks/serviceactions/ServiceActionsPanel.css
@@ -120,7 +120,7 @@
     margin-left:0;
 }
 
-/******** overrides for grouped actions and entity actions ***************/
+/******** overrides for grouped actions and object actions ***************/
 .groupedActions .cssMenuPanel li.cssMenuItemPanel>p.top-parent {
     display: none;
 }
@@ -171,11 +171,11 @@
     text-decoration: none;
 }
 
-.entityActions .cssMenuPanel li.cssMenuItemPanel>p.top-parent {
+.objectActions .cssMenuPanel li.cssMenuItemPanel>p.top-parent {
     display: none;
 }
 
-.entityActions .cssMenuPanel .menuh ul {
+.objectActions .cssMenuPanel .menuh ul {
     position: relative;
     display: block;
     float: right;
@@ -183,7 +183,7 @@
     padding: 0;
 }
 
-.entityActions .cssMenuPanel .menuh ul ul {
+.objectActions .cssMenuPanel .menuh ul ul {
     position: relative;
     display: block;
     float: right;
@@ -191,29 +191,29 @@
     padding: 0;
 }
 
-.entityActions .cssMenuPanel .menuh li {
+.objectActions .cssMenuPanel .menuh li {
     float:left;
     display:block;
     margin-left:10px;
 }
 
-.entityActions .cssMenuPanel .menuh li p {
+.objectActions .cssMenuPanel .menuh li p {
     float:left;
     display:block;
     margin-left:0;
 }
 
-.entityActions .cssMenuPanel .menuh a,
-.entityActions .cssMenuPanel .menuh p {
+.objectActions .cssMenuPanel .menuh a,
+.objectActions .cssMenuPanel .menuh p {
     display: inline-block;
     /*border: none;*/
 }
 
-.entityActions .cssMenuPanel .menuh a,
-.entityActions .cssMenuPanel .menuh a:link,
-.entityActions .cssMenuPanel .menuh a:visited,
-.entityActions .cssMenuPanel .menuh a:active,
-.entityActions .cssMenuPanel .menuh p {
+.objectActions .cssMenuPanel .menuh a,
+.objectActions .cssMenuPanel .menuh a:link,
+.objectActions .cssMenuPanel .menuh a:visited,
+.objectActions .cssMenuPanel .menuh a:active,
+.objectActions .cssMenuPanel .menuh p {
     display: block;
     float: left;
     height: 30px;
@@ -233,11 +233,6 @@
     list-style:none;
 }
 
-.entityCollectionsPanel .card-header .additionalLinkList {
-    /*margin-right: 10px;*/
-}
-
-
 .float-right .additionalLinkListDropDown {
     margin-left: 0px;
 }
@@ -262,17 +257,14 @@
     margin-left: -20px;
 }
 
-.entityPropertiesPanel .additionalLinkList li {
+.objectPropertiesPanel .additionalLinkList li {
     margin-right:0px;
 }
-.entityPropertiesPanel .properties .card-header .additionalLinkList {
+.objectPropertiesPanel .properties .card-header .additionalLinkList {
     margin-right: -5px;
 }
 
 
-
-
-
 /**
  * Borrowed from http://bootsnipp.com/snippets/featured/multi-level-dropdown-menu-bs3
  */
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.html
index 32f2d35f28b..918c3bdaf88 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.html
@@ -25,7 +25,7 @@
     <body>
         <wicket:panel>
             <div class="iconAndTitle actionPanelHeaderNew">
-                <span wicket:enclosure="entityIconAndTitle"><span wicket:id="entityIconAndTitle">[icon and title]</span> :</span> <span wicket:id="actionName" class="actionName">[action name]</span>
+                <span wicket:enclosure="objectIconAndTitle"><span wicket:id="objectIconAndTitle">[icon and title]</span> :</span> <span wicket:id="actionName" class="actionName">[action name]</span>
             </div>
         </wicket:panel>
     </body>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java
index 95cbc6c2e82..7f811e46424 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java
@@ -40,7 +40,7 @@ extends PanelAbstract<ManagedObject, ActionModel> {
         _Blackhole.consume(model.getObject()); // side-effect: loads the model
 
         getComponentFactoryRegistry()
-        .addOrReplaceComponent(this, UiComponentType.ENTITY_ICON_AND_TITLE, model.getParentUiModel());
+        .addOrReplaceComponent(this, UiComponentType.OBJECT_ICON_AND_TITLE, model.getParentUiModel());
 
         var label = Wkt.labelAdd(this, ID_ACTION_NAME, model::getFriendlyName);
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.html
index ad446ed5a64..fc769ccd27d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.html
@@ -26,7 +26,7 @@
         <wicket:panel>
             <div class="actionPanel actionComponentType">
                 <div wicket:id="header" class="iconAndTitle card actionPanelHeaderNew">
-                     <wicket:container wicket:id="entityIconAndTitle">[icon and title]</wicket:container>
+                     <wicket:container wicket:id="objectIconAndTitle">[icon and title]</wicket:container>
                      <h3 wicket:id="actionName" class="actionName">[action name]</h3>
                 </div>
                 <div wicket:id="parameters"></div>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.java
index c3a391a2009..e44533384a6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/actions/ActionParametersPanel.java
@@ -71,7 +71,7 @@ extends PanelAbstract<ManagedObject, ActionModel> {
         addOrReplace(header);
 
         getComponentFactoryRegistry().addOrReplaceComponent(this, UiComponentType.PARAMETERS, actionModel);
-        getComponentFactoryRegistry().addOrReplaceComponent(header, UiComponentType.ENTITY_ICON_AND_TITLE,
+        getComponentFactoryRegistry().addOrReplaceComponent(header, UiComponentType.OBJECT_ICON_AND_TITLE,
                 actionModel.getParentUiModel());
 
         Wkt.labelAdd(header, ID_ACTION_NAME, ()->getActionModel().getFriendlyName());
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeFragmentFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeFragmentFactory.java
index 1bd8712e866..9071deae206 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeFragmentFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributeFragmentFactory.java
@@ -172,7 +172,7 @@ public class AttributeFragmentFactory {
         LABEL("fragment-compact-label"),
         LINK("fragment-compact-link"),
         BADGE("fragment-compact-badge"),
-        ENTITY_LINK("fragment-compact-entityLink"),
+        OBJECT_LINK("fragment-compact-objectLink"),
         CHECKBOX_YES("fragment-compact-checkboxYes"),
         CHECKBOX_NO("fragment-compact-checkboxNo"),
         CHECKBOX_INTERMEDIATE("fragment-compact-checkboxIntermediate"),
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField.html
index 39096cc7815..6f51d4cb395 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField.html
@@ -180,8 +180,8 @@
 
 		<wicket:fragment wicket:id="fragment-input-select_object">
             <span class="fragment-input-select_object w-100">
-                <span wicket:id="entityLink" class="w-100">link or drop down</span>
-                <span wicket:id="entityTitleIfNull">(none)</span>
+                <span wicket:id="objectLink" class="w-100">link or drop down</span>
+                <span wicket:id="objectTitleIfNull">(none)</span>
             </span>
 		</wicket:fragment>
 
@@ -250,10 +250,10 @@
 			</div>
 		</wicket:fragment>
 
-		<wicket:fragment wicket:id="fragment-compact-entityLink">
-			<div class="scalarValue fragment-compact-entityLink">
-                <div class="entityLink"
-                     wicket:id="entityLink"
+		<wicket:fragment wicket:id="fragment-compact-objectLink">
+			<div class="scalarValue fragment-compact-objectLink">
+                <div class="objectLink"
+                     wicket:id="objectLink"
                 >[property or parameter value]</div>
             </div>
 		</wicket:fragment>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField_xray.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField_xray.html
index ae71ef3fee3..02282886bc3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField_xray.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/AttributePanelWithFormField_xray.html
@@ -162,8 +162,8 @@
 		
 		<wicket:fragment wicket:id="fragment-input-select2">
 			<!-- fragment-input-select2 -->
-			<span wicket:id="entityLink" class="w-100">link or drop down</span>
-			<span wicket:id="entityTitleIfNull">(none)</span>
+			<span wicket:id="objectLink" class="w-100">link or drop down</span>
+			<span wicket:id="objectTitleIfNull">(none)</span>
 		</wicket:fragment>
 
 		<!-- PROMPT FRAGMENTS -->
@@ -231,10 +231,10 @@
 			</div>
 		</wicket:fragment>
 		
-		<wicket:fragment wicket:id="fragment-compact-entityLink">
+		<wicket:fragment wicket:id="fragment-compact-objectLink">
 			<div class="scalarValue">
-                <div class="entityLink"
-                     wicket:id="entityLink"
+                <div class="objectLink"
+                     wicket:id="objectLink"
                 >[property or parameter value]</div>
             </div>
 		</wicket:fragment>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/choices/ObjectChoicesAttributePanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/choices/ObjectChoicesAttributePanel.java
index c10fd7b621b..4317d0a3d91 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/choices/ObjectChoicesAttributePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/attributes/choices/ObjectChoicesAttributePanel.java
@@ -37,7 +37,7 @@ import org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeFragm
 import org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeFragmentFactory.FieldFrame;
 import org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeFragmentFactory.InputFragment;
 import org.apache.causeway.viewer.wicket.ui.components.attributes.choices.AttributePanelWithSelect.ChoiceTitleHandler;
-import org.apache.causeway.viewer.wicket.ui.components.widgets.entitysimplelink.EntityLinkSimplePanel;
+import org.apache.causeway.viewer.wicket.ui.components.widgets.objectsimplelink.ObjectLinkSimplePanel;
 import org.apache.causeway.viewer.wicket.ui.components.widgets.select2.providers.ChoiceProviderDefault;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 import org.apache.causeway.viewer.wicket.ui.util.WktComponents;
@@ -52,10 +52,10 @@ implements ChoiceTitleHandler {
     private static final long serialVersionUID = 1L;
 
     private static final String ID_AUTO_COMPLETE = "autoComplete";
-    private static final String ID_ENTITY_TITLE_IF_NULL = "entityTitleIfNull";
+    private static final String ID_OBJECT_TITLE_IF_NULL = "objectTitleIfNull";
 
-    private ChoiceFormComponent entityLink;
-    private EntityLinkSimplePanel entityLinkOutputFormat;
+    private ChoiceFormComponent objectLink;
+    private ObjectLinkSimplePanel objectLinkOutputFormat;
     private final boolean isCompactFormat;
 
     public ObjectChoicesAttributePanel(final String id, final UiAttributeWkt attributeModel) {
@@ -69,29 +69,29 @@ implements ChoiceTitleHandler {
         var attributeModel = attributeModel();
         final String name = attributeModel.getFriendlyName();
 
-        this.entityLinkOutputFormat = (EntityLinkSimplePanel) getComponentFactoryRegistry()
-                .createComponent(UiComponentType.ENTITY_LINK, attributeModel);
+        this.objectLinkOutputFormat = (ObjectLinkSimplePanel) getComponentFactoryRegistry()
+                .createComponent(UiComponentType.OBJECT_LINK, attributeModel);
 
-        entityLinkOutputFormat.setOutputMarkupId(true);
-        entityLinkOutputFormat.setLabel(Model.of(name));
+        objectLinkOutputFormat.setOutputMarkupId(true);
+        objectLinkOutputFormat.setLabel(Model.of(name));
 
-        return CompactFragment.ENTITY_LINK
-                .createFragment(id, this, scalarValueId->entityLinkOutputFormat);
+        return CompactFragment.OBJECT_LINK
+                .createFragment(id, this, scalarValueId->objectLinkOutputFormat);
     }
 
     @Override
     protected FormComponent<ManagedObject> createFormComponent(final String id, final UiAttributeWkt attributeModel) {
 
-        this.entityLink = new ChoiceFormComponent(UiComponentType.ENTITY_LINK.getId(), this);
-        entityLink.setRequired(attributeModel.isRequired());
+        this.objectLink = new ChoiceFormComponent(UiComponentType.OBJECT_LINK.getId(), this);
+        objectLink.setRequired(attributeModel.isRequired());
 
         this.select2 = createSelect2(ID_AUTO_COMPLETE,
                 ChoiceProviderDefault::new);
 
-        entityLink.addOrReplace(select2.asComponent());
-        entityLink.setOutputMarkupId(true);
+        objectLink.addOrReplace(select2.asComponent());
+        objectLink.setOutputMarkupId(true);
 
-        return entityLink;
+        return objectLink;
     }
 
     @Override
@@ -147,9 +147,9 @@ implements ChoiceTitleHandler {
         lookupScalarValueContainer()
         .ifPresent(container->{
             var componentFactory = getComponentFactoryRegistry()
-                    .findComponentFactory(UiComponentType.ENTITY_ICON_AND_TITLE, attributeModel);
+                    .findComponentFactory(UiComponentType.OBJECT_ICON_AND_TITLE, attributeModel);
             var iconAndTitle = componentFactory
-                    .createComponent(UiComponentType.ENTITY_ICON_AND_TITLE.getId(), attributeModel);
+                    .createComponent(UiComponentType.OBJECT_ICON_AND_TITLE.getId(), attributeModel);
             container.addOrReplace(iconAndTitle);
 
             var isInlinePrompt = attributeModel.isInlinePrompt();
@@ -160,29 +160,29 @@ implements ChoiceTitleHandler {
             var adapter = attributeModel.getObject();
             if(adapter != null
                     || isInlinePrompt) {
-                WktComponents.permanentlyHide(container, ID_ENTITY_TITLE_IF_NULL);
+                WktComponents.permanentlyHide(container, ID_OBJECT_TITLE_IF_NULL);
             } else {
-                Wkt.markupAdd(container, ID_ENTITY_TITLE_IF_NULL,
+                Wkt.markupAdd(container, ID_OBJECT_TITLE_IF_NULL,
                         getPlaceholderRenderService().asHtml(PlaceholderLiteral.NULL_REPRESENTATION));
             }
         });
 
         if(!isEditable()) {
-            WktComponents.permanentlyHide(entityLink, ID_AUTO_COMPLETE);
+            WktComponents.permanentlyHide(objectLink, ID_AUTO_COMPLETE);
             return;
         }
 
         if(fieldFrame != null) {
-            WktComponents.permanentlyHide(fieldFrame, ID_ENTITY_TITLE_IF_NULL);
+            WktComponents.permanentlyHide(fieldFrame, ID_OBJECT_TITLE_IF_NULL);
         }
-        WktComponents.permanentlyHide(entityLink, ID_ENTITY_TITLE_IF_NULL);
+        WktComponents.permanentlyHide(objectLink, ID_OBJECT_TITLE_IF_NULL);
 
         if(select2 == null) {
             throw new IllegalStateException("select2 should be created already");
         }
 
         // set mutability
-        select2.setEnabled(entityLink.isEnableAllowed()
+        select2.setEnabled(objectLink.isEnableAllowed()
                 && !getModel().isViewingMode());
 
         /* XXX not sure if required any more
@@ -248,7 +248,7 @@ implements ChoiceTitleHandler {
             pendingValue.setValue(adapter);
         }
 
-        entityLink.setConvertedInput(pendingValue.getValue());
+        objectLink.setConvertedInput(pendingValue.getValue());
     }
 
     // --
@@ -263,8 +263,8 @@ implements ChoiceTitleHandler {
 
     @Override
     public void clearTitleAttribute() {
-        entityLink.setEnabled(true);
-        Wkt.attributeReplace(entityLink, "title", "");
+        objectLink.setEnabled(true);
+        Wkt.attributeReplace(objectLink, "title", "");
     }
 
     @Override
@@ -273,8 +273,8 @@ implements ChoiceTitleHandler {
             clearTitleAttribute();
             return;
         }
-        entityLink.setEnabled(false);
-        Wkt.attributeReplace(entityLink, "title", titleAttribute);
+        objectLink.setEnabled(false);
+        Wkt.attributeReplace(objectLink, "title", titleAttribute);
     }
 
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/export/CollectionContentsAsExportFactory.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/export/CollectionContentsAsExportFactory.java
index 4322fdf0df0..efae4c10048 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/export/CollectionContentsAsExportFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/export/CollectionContentsAsExportFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.export;
+package org.apache.causeway.viewer.wicket.ui.components.collection.export;
 
 import java.io.File;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanel.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanel.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanel.java
similarity index 91%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanel.java
index 6ff92d61e3a..840e9ef5a81 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.collection;
+package org.apache.causeway.viewer.wicket.ui.components.collection.parented;
 
 import java.util.Optional;
 
@@ -53,7 +53,7 @@ import lombok.Getter;
  * {@link PanelAbstract Panel} representing the properties of an entity, as per
  * the provided {@link UiObjectWkt}.
  */
-class EntityCollectionPanel
+class ParentedCollectionPanel
 extends PanelAbstract<ManagedObject, UiObjectWkt>
 implements HasDynamicallyVisibleContent {
 
@@ -77,7 +77,7 @@ implements HasDynamicallyVisibleContent {
     private final CollectionLayoutData layoutData;
     private final WebMarkupContainer div;
 
-    public EntityCollectionPanel(final String id, final UiObjectWkt objectModel, final CollectionLayoutData layoutData) {
+    public ParentedCollectionPanel(final String id, final UiObjectWkt objectModel, final CollectionLayoutData layoutData) {
         super(id, objectModel);
 
         this.layoutData = layoutData;
@@ -117,7 +117,7 @@ implements HasDynamicallyVisibleContent {
     // -- HELPER
 
     private void buildGui() {
-        var collectionModel = entityCollectionModelParented();
+        var collectionModel = collectionModelParented();
         div.setMarkupId("collection-" + collectionModel.getLayoutData().getId());
 
         var collectionMetaModel = collectionModel.getMetaModel();
@@ -156,24 +156,23 @@ implements HasDynamicallyVisibleContent {
 
             createSelectorDropdownPanel(collectionModel);
             collectionPanel.setSelectorDropdownPanel(selectorDropdownPanel);
-
         }
     }
 
     // EntityCollectionModelParented caching
-    private transient CollectionModelParented entityCollectionModelParented;
-    private CollectionModelParented entityCollectionModelParented() {
-        if(entityCollectionModelParented == null) {
-            this.entityCollectionModelParented = CollectionModelParented.forParentObjectModel(getModel(), layoutData);
+    private transient CollectionModelParented collectionModelParented;
+    private CollectionModelParented collectionModelParented() {
+        if(collectionModelParented == null) {
+            this.collectionModelParented = CollectionModelParented.forParentObjectModel(getModel(), layoutData);
         }
-        return entityCollectionModelParented;
+        return collectionModelParented;
     }
 
     // TableDecorator caching
     private transient Optional<TableDecorator> tableDecorator;
     private Optional<TableDecorator> tableDecorator() {
         if(tableDecorator == null) {
-            this.tableDecorator = entityCollectionModelParented()
+            this.tableDecorator = collectionModelParented()
                     .getMetaModel()
                     .getTableDecorator();
         }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanelFactory.java
similarity index 79%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanelFactory.java
index 7ee86fd6317..ebf02410d79 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/collection/EntityCollectionPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/parented/ParentedCollectionPanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.collection;
+package org.apache.causeway.viewer.wicket.ui.components.collection.parented;
 
 import java.io.Serializable;
 
@@ -27,16 +27,16 @@ import org.apache.causeway.applib.layout.component.CollectionLayoutData;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.causeway.viewer.wicket.ui.components.object.ObjectComponentFactoryAbstract;
 
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 
 /**
- * {@link ComponentFactory} for {@link EntityCollectionPanel}.
+ * {@link ComponentFactory} for {@link ParentedCollectionPanel}.
  */
-public class EntityCollectionPanelFactory extends EntityComponentFactoryAbstract {
+public class ParentedCollectionPanelFactory extends ObjectComponentFactoryAbstract {
 
     /**
      * Helper class, used to call this factory.
@@ -49,8 +49,8 @@ public class EntityCollectionPanelFactory extends EntityComponentFactoryAbstract
         final @NonNull CollectionLayoutData layout;
     }
 
-    public EntityCollectionPanelFactory() {
-        super(UiComponentType.ENTITY_COLLECTION, EntityCollectionPanel.class);
+    public ParentedCollectionPanelFactory() {
+        super(UiComponentType.PARENTED_COLLECTION, ParentedCollectionPanel.class);
     }
 
     @Override
@@ -66,6 +66,6 @@ public class EntityCollectionPanelFactory extends EntityComponentFactoryAbstract
     @Override
     public Component createComponent(final String id, final IModel<?> model) {
         var collectionOwnerAndId = (CollectionOwnerAndLayout) model.getObject();
-        return new EntityCollectionPanel(id, collectionOwnerAndId.getOwner(), collectionOwnerAndId.getLayout());
+        return new ParentedCollectionPanel(id, collectionOwnerAndId.getOwner(), collectionOwnerAndId.getLayout());
     }
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.css
similarity index 97%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.css
index 48348a84aba..6d9c9132e2b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.css
@@ -144,7 +144,7 @@
   text-decoration:underline
 }
 
-.collectionContentsAsAjaxTablePanel table.contents .entityLinkSelect2Panel .entityImage {
+.collectionContentsAsAjaxTablePanel table.contents .objectLinkSelect2Panel .objectImage {
     padding-right:6px;
 }
 
@@ -157,7 +157,7 @@
     /*background-color:#FFFFFF !important;*/
 }
 
-.collectionContentsAsAjaxTablePanel .entityActions {
+.collectionContentsAsAjaxTablePanel .objectActions {
     margin-top: -1px;
     margin-bottom: -10px;
     float: left;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.java
similarity index 96%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 801ae4c3605..31b25ddfd17 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable;
 
 import java.util.List;
 import java.util.Optional;
@@ -39,14 +39,14 @@ import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
 import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModelParented;
 import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel.Variant;
 import org.apache.causeway.viewer.wicket.ui.components.collection.count.CollectionCountProvider;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ActionColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ColumnAbbreviationOptions;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.GenericColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.PluralColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.PluralColumn.RenderOptions;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.SingularColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.TitleColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ToggleboxColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ActionColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ColumnAbbreviationOptions;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.GenericColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.PluralColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.SingularColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.TitleColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ToggleboxColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.PluralColumn.RenderOptions;
 import org.apache.causeway.viewer.wicket.ui.components.table.CausewayAjaxDataTable;
 import org.apache.causeway.viewer.wicket.ui.components.table.DataTableWithPagesAndFilter;
 import org.apache.causeway.viewer.wicket.ui.components.table.filter.FilterToolbar;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
index fb036b04c50..8847dffac2d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsAsAjaxTablePanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsSortableDataProvider.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsSortableDataProvider.java
index 6e33cb6d856..b254b874840 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/CollectionContentsSortableDataProvider.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable;
 
 import java.util.Iterator;
 import java.util.Objects;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ActionColumn.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ActionColumn.java
index fc5c80c20e6..1dea4ddc590 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ActionColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ActionColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import java.util.Optional;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/AssociationColumnAbstract.java
similarity index 97%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/AssociationColumnAbstract.java
index 1f68be1b714..4a6b34ae6f6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/AssociationColumnAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/AssociationColumnAbstract.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import java.util.Optional;
 
@@ -35,7 +35,7 @@ import org.apache.causeway.viewer.wicket.ui.util.WktTooltips;
 
 /**
  * A {@link GenericColumnAbstract column} within a
- * {@link org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel}
+ * {@link org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsAsAjaxTablePanel}
  * representing a single property of the
  * provided {@link ManagedObject}.
  *
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ColumnAbbreviationOptions.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ColumnAbbreviationOptions.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ColumnAbbreviationOptions.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ColumnAbbreviationOptions.java
index 9aff2768afb..f763113d175 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ColumnAbbreviationOptions.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ColumnAbbreviationOptions.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import java.io.Serializable;
 import java.util.Optional;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/GenericColumn.java
similarity index 97%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumn.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/GenericColumn.java
index d9f648aefbc..d00eb440f94 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/GenericColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/GenericColumnAbstract.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/GenericColumnAbstract.java
index 1eeb2680d3c..7dc38338a40 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericColumnAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/GenericColumnAbstract.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
@@ -45,7 +45,7 @@ import org.apache.causeway.viewer.wicket.ui.util.Wkt;
  * {@link AjaxFallbackDefaultDataTable}.
  * <p>
  * Part of the implementation of
- * {@link org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel}.
+ * {@link org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsAsAjaxTablePanel}.
  */
 public abstract class GenericColumnAbstract
 extends AbstractColumn<DataRow, String>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
similarity index 97%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
index cf8de39cbbc..9881db1bb18 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/PluralColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/PluralColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import java.io.Serializable;
 import java.net.URI;
@@ -127,16 +127,16 @@ extends AssociationColumnAbstract {
 
         var uiObject = UiObjectWkt.ofAdapterForCollection(cellElement, collectionVariant);
 
-        var componentFactory = findComponentFactory(UiComponentType.ENTITY_LINK, uiObject);
-        final Component entityLink =
+        var componentFactory = findComponentFactory(UiComponentType.OBJECT_LINK, uiObject);
+        final Component objectLink =
                 componentFactory.createComponent(componentId, uiObject);
 
         ColumnAbbreviationOptions.builder()
                 .maxElementTitleLength(opts.titleAbbreviationThreshold())
                 .build()
-                .applyTo(entityLink);
+                .applyTo(objectLink);
 
-        return entityLink;
+        return objectLink;
     }
 
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/SingularColumn.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/SingularColumn.java
index 4e055844ceb..52cee17af23 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/SingularColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/SingularColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import java.util.Optional;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
similarity index 96%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
index 6885066e6e5..91ab03af7a2 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/TitleColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/TitleColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import org.apache.wicket.Component;
 
@@ -26,10 +26,10 @@ import org.apache.causeway.applib.services.bookmark.Bookmark;
 import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
-import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel.Variant;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
+import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel.Variant;
+import org.apache.causeway.viewer.wicket.model.models.coll.DataRowWkt;
 
 public final class TitleColumn
 extends GenericColumnAbstract {
@@ -69,10 +69,10 @@ extends GenericColumnAbstract {
         uiObject.setContextBookmarkIfAny(contextBookmark);
 
         // will use EntityLinkSimplePanelFactory as model is an EntityModel
-        var componentFactory = findComponentFactory(UiComponentType.ENTITY_LINK, uiObject);
-        final Component entityLink = opts.applyTo(
+        var componentFactory = findComponentFactory(UiComponentType.OBJECT_LINK, uiObject);
+        final Component objectLink = opts.applyTo(
                 componentFactory.createComponent(componentId, uiObject));
-        return entityLink;
+        return objectLink;
     }
 
     boolean isTitleSuppressed() {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ToggleboxColumn.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ToggleboxColumn.java
index 0cd3b4cb6fa..0b1f6a42d6e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ToggleboxColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/ajaxtable/columns/ToggleboxColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns;
 
 import java.util.List;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanel.html
similarity index 94%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanel.html
index afaa78a71a2..6a0fa38aba8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanel.html
@@ -21,7 +21,7 @@
 	<body>
 		<wicket:panel>
 			<ul class="collectionContentsAsIconsPanel collectionContentsComponentType">
-				<li wicket:id="entityInstance">[entity instance as icon]</li>
+				<li wicket:id="objectInstance">[object instance as icon]</li>
 			</ul>
 		</wicket:panel>
 	</body>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanel.java
similarity index 88%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanel.java
index e9342df6efe..7a2ca0bb287 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.icons;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.icons;
 
 import org.apache.wicket.markup.repeater.RepeatingView;
 
@@ -24,7 +24,7 @@ import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
-import org.apache.causeway.viewer.wicket.ui.components.entity.header.EntityHeaderPanel;
+import org.apache.causeway.viewer.wicket.ui.components.object.header.ObjectHeaderPanel;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 
 /**
@@ -36,7 +36,7 @@ extends PanelAbstract<DataTableInteractive, CollectionModel> {
 
     private static final long serialVersionUID = 1L;
 
-    private static final String ID_ENTITY_INSTANCE = "entityInstance";
+    private static final String ID_OBJECT_INSTANCE = "objectInstance";
 
     public CollectionContentsAsIconsPanel(final String id, final CollectionModel model) {
         super(id, model);
@@ -51,13 +51,13 @@ extends PanelAbstract<DataTableInteractive, CollectionModel> {
                 .map(DataRow::rowElement)
                 .toList();
 
-        final RepeatingView entityInstances = new RepeatingView(ID_ENTITY_INSTANCE);
+        final RepeatingView entityInstances = new RepeatingView(ID_OBJECT_INSTANCE);
 
         add(entityInstances);
         for (var adapter : visibleAdapters) {
             final String childId = entityInstances.newChildId();
             final UiObjectWkt objectModel = UiObjectWkt.ofAdapter(adapter);
-            final EntityHeaderPanel entitySummaryPanel = new EntityHeaderPanel(childId, objectModel);
+            final ObjectHeaderPanel entitySummaryPanel = new ObjectHeaderPanel(childId, objectModel);
             entityInstances.add(entitySummaryPanel);
         }
     }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanelFactory.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanelFactory.java
index 9d6362528d9..73c724009dc 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/icons/CollectionContentsAsIconsPanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.icons;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.icons;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanel.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanel.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanel.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanel.java
index 70693211415..74f7d5f2020 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.multiple;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.multiple;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxRequestTarget;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanelFactory.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanelFactory.java
index b6fa6dd0de0..e00237fcfa2 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/multiple/CollectionContentsMultipleViewsPanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.multiple;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.multiple;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummary.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummary.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummary.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummary.java
index 6d17926bc6c..8d379e78b14 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummary.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.summary;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.summary;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummaryFactory.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummaryFactory.java
index 7fefd974f32..cf61e723d42 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummaryFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/summary/CollectionContentsAsSummaryFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.summary;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.summary;
 
 import java.math.BigDecimal;
 import java.util.function.Predicate;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanel.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanel.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanel.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanel.java
index 702b032f482..b3303bb7e9b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.unresolved;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.unresolved;
 
 import org.apache.causeway.core.metamodel.tabular.DataTableInteractive;
 import org.apache.causeway.viewer.wicket.model.models.coll.CollectionModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanelFactory.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanelFactory.java
index 251b64057d2..aa663e2bb72 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/present/unresolved/CollectionContentsHiddenPanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.collectioncontents.unresolved;
+package org.apache.causeway.viewer.wicket.ui.components.collection.present.unresolved;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java
index d09dac363e0..54d38767720 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/selector/CollectionPresentationSelectorHelper.java
@@ -39,9 +39,9 @@ import org.apache.causeway.viewer.wicket.model.util.ComponentHintKey;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryKey;
 import org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.unresolved.CollectionContentsHiddenPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsAsAjaxTablePanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.multiple.CollectionContentsMultipleViewsPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.unresolved.CollectionContentsHiddenPanelFactory;
 
 public record CollectionPresentationSelectorHelper(
         CollectionModel collectionModel,
@@ -111,7 +111,7 @@ implements Serializable {
 
     /**
      * return the index of {@link CollectionContentsHiddenPanelFactory unresolved panel} if present and not eager loading;
-     * else the index of {@link org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanelFactory ajax table} if present,
+     * else the index of {@link org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsAsAjaxTablePanelFactory ajax table} if present,
      * otherwise first factory.
      */
     private String determineInitialFactory() {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanel.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanel.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanel.java
similarity index 98%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanel.java
index 0aa89026633..1e8926c5658 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.standalonecollection;
+package org.apache.causeway.viewer.wicket.ui.components.collection.standalone;
 
 import java.util.Optional;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanelFactory.java
similarity index 95%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanelFactory.java
index 3b831698a46..e240c3f858b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/collection/standalone/StandaloneCollectionPanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.standalonecollection;
+package org.apache.causeway.viewer.wicket.ui.components.collection.standalone;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/BSGridPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/BSGridPanelFactory.java
index c48adccd7f5..acefa347500 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/BSGridPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/BSGridPanelFactory.java
@@ -28,12 +28,12 @@ import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.models.ActionModel;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.causeway.viewer.wicket.ui.components.object.ObjectComponentFactoryAbstract;
 
 /**
  * {@link ComponentFactory} for {@link BSGridPanel}.
  */
-public class BSGridPanelFactory extends EntityComponentFactoryAbstract {
+public class BSGridPanelFactory extends ObjectComponentFactoryAbstract {
 
     public BSGridPanelFactory() {
         super(UiComponentType.DOMAIN_OBJECT, BSGridPanel.class);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.html
index c7ea4a72678..10f847c9190 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.html
@@ -21,11 +21,11 @@
     <body>
         <wicket:panel>
             <div wicket:id="col">
-                <div class="entityHeaderPanel" wicket:id="entityHeaderPanel">
+                <div class="objectHeaderPanel" wicket:id="objectHeaderPanel">
                     <h3 class="iconAndTitle">
-                        <div wicket:id="entityIconTitleAndCopylink" 
-                        	class="iconAndTitleLabel entityIconTitleAndCopylink">[icon and title]</div>
-                        <div class="entityActions" wicket:id="entityActions"></div>
+                        <div wicket:id="objectIconTitleAndCopylink" 
+                        	class="iconAndTitleLabel objectIconTitleAndCopylink">[icon and title]</div>
+                        <div class="objectActions" wicket:id="objectActions"></div>
                     </h3>
                 </div>
                 <div class="actions" wicket:id="actions">
@@ -40,7 +40,7 @@
                 <div class="fieldSets" wicket:id="fieldSets">
                     [fieldsets]
                 </div>
-                <div class="collections entityCollection" wicket:id="collections">
+                <div class="collections objectCollections" wicket:id="collections">
                     [collections]
                 </div>
             </div>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.java
index 447938d34c3..a8aa86ae540 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/layout/bs/col/Col.java
@@ -43,10 +43,10 @@ import org.apache.causeway.viewer.wicket.model.models.ActionModel;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.components.actionlinks.entityactions.ActionLinksPanel;
-import org.apache.causeway.viewer.wicket.ui.components.entity.collection.EntityCollectionPanelFactory.CollectionOwnerAndLayout;
-import org.apache.causeway.viewer.wicket.ui.components.entity.fieldset.PropertyGroup;
+import org.apache.causeway.viewer.wicket.ui.components.collection.parented.ParentedCollectionPanelFactory.CollectionOwnerAndLayout;
 import org.apache.causeway.viewer.wicket.ui.components.layout.bs.row.Row;
 import org.apache.causeway.viewer.wicket.ui.components.layout.bs.tabs.TabGroupPanel;
+import org.apache.causeway.viewer.wicket.ui.components.object.fieldset.PropertyGroup;
 import org.apache.causeway.viewer.wicket.ui.panels.HasDynamicallyVisibleContent;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
@@ -59,7 +59,7 @@ implements HasDynamicallyVisibleContent {
     private static final long serialVersionUID = 1L;
 
     private static final String ID_COL = "col";
-    private static final String ID_ENTITY_HEADER_PANEL = "entityHeaderPanel";
+    private static final String ID_OBJECT_HEADER_PANEL = "objectHeaderPanel";
     private static final String ID_ROWS = "rows";
     private static final String ID_TAB_GROUPS = "tabGroups";
     private static final String ID_FIELD_SETS = "fieldSets";
@@ -98,20 +98,20 @@ implements HasDynamicallyVisibleContent {
         final String actionIdToUse;
         final String actionIdToHide;
         if(domainObject != null) {
-            final WebMarkupContainer entityHeaderPanel = new WebMarkupContainer(ID_ENTITY_HEADER_PANEL);
+            final WebMarkupContainer entityHeaderPanel = new WebMarkupContainer(ID_OBJECT_HEADER_PANEL);
             div.add(entityHeaderPanel);
             final ComponentFactory componentFactory =
-                    getComponentFactoryRegistry().findComponentFactory(UiComponentType.ENTITY_ICON_TITLE_AND_COPYLINK, getModel());
+                    getComponentFactoryRegistry().findComponentFactory(UiComponentType.OBJECT_ICON_TITLE_AND_COPYLINK, getModel());
             final Component component = componentFactory.createComponent(getModel());
             entityHeaderPanel.addOrReplace(component);
 
             actionOwner = entityHeaderPanel;
-            actionIdToUse = "entityActions";
+            actionIdToUse = "objectActions";
             actionIdToHide = "actions";
 
             visible = true;
         } else {
-            WktComponents.permanentlyHide(div, ID_ENTITY_HEADER_PANEL);
+            WktComponents.permanentlyHide(div, ID_OBJECT_HEADER_PANEL);
             actionOwner = div;
             actionIdToUse = "actions";
             actionIdToHide = null;
@@ -245,7 +245,7 @@ implements HasDynamicallyVisibleContent {
 
                 final ComponentFactory componentFactory =
                         getComponentFactoryRegistry().findComponentFactory(
-                                UiComponentType.ENTITY_COLLECTION, helperModel);
+                                UiComponentType.PARENTED_COLLECTION, helperModel);
 
                 final Component collectionPanel = componentFactory.createComponent(collectionRv.newChildId(), helperModel);
                 collectionRv.add(collectionPanel);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/ObjectComponentFactoryAbstract.java
similarity index 86%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/ObjectComponentFactoryAbstract.java
index 1de26a32b57..bcb2f49668f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/EntityComponentFactoryAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/ObjectComponentFactoryAbstract.java
@@ -16,30 +16,30 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity;
+package org.apache.causeway.viewer.wicket.ui.components.object;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
 
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
+import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
 /**
- * Convenience adapter for a number of {@link ComponentFactoryAbstract component
- * factory}s that where the created {@link Component} are backed by an
- * {@link UiObjectWkt}.
+ * Base {@link ComponentFactory} for factories creating {@link Component}(s)
+ * that are backed by an {@link UiObjectWkt}.
  */
-public abstract class EntityComponentFactoryAbstract extends ComponentFactoryAbstract {
+public abstract class ObjectComponentFactoryAbstract extends ComponentFactoryAbstract {
 
-    public EntityComponentFactoryAbstract(
+    public ObjectComponentFactoryAbstract(
             final UiComponentType uiComponentType,
             final Class<?> componentClass) {
 
         super(uiComponentType, componentClass);
     }
 
-    public EntityComponentFactoryAbstract(
+    public ObjectComponentFactoryAbstract(
             final UiComponentType uiComponentType,
             final String name,
             final Class<?> componentClass) {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/fieldset/PropertyGroup.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/fieldset/PropertyGroup.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/fieldset/PropertyGroup.java
similarity index 99%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/fieldset/PropertyGroup.java
index 97f166088d5..c1ca2e342d7 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/fieldset/PropertyGroup.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.fieldset;
+package org.apache.causeway.viewer.wicket.ui.components.object.fieldset;
 
 import java.util.List;
 import java.util.function.Consumer;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanel.html
similarity index 79%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanel.html
index 21e0abec057..2145c9b4d35 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanel.html
@@ -20,12 +20,12 @@
 <html xmlns:wicket="http://wicket.apache.org">
     <body>
         <wicket:panel>
-            <div class="entityHeaderPanel">
+            <div class="objectHeaderPanel">
                 <h3 class="iconAndTitle">
-                    <div wicket:id="entityIconTitleAndCopylink" 
-                    	class="iconAndTitleLabel entityIconTitleAndCopylink">[icon and title]</div>
-                    <div wicket:id="entityActions"
-                    	class="entityActions"></div>
+                    <div wicket:id="objectIconTitleAndCopylink" 
+                    	class="iconAndTitleLabel objectIconTitleAndCopylink">[icon and title]</div>
+                    <div wicket:id="objectActions"
+                    	class="objectActions"></div>
                 </h3>
             </div>
         </wicket:panel>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanel.java
similarity index 87%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanel.java
index a562c66220d..88b94dfc32d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.header;
+package org.apache.causeway.viewer.wicket.ui.components.object.header;
 
 import org.apache.wicket.Component;
 
@@ -35,14 +35,14 @@ import org.apache.causeway.viewer.wicket.ui.util.WktComponents;
  * {@link PanelAbstract Panel} representing the summary details (title, icon and
  * actions) of an entity, as per the provided {@link UiObjectWkt}.
  */
-public class EntityHeaderPanel
+public class ObjectHeaderPanel
 extends PanelAbstract<ManagedObject, UiObjectWkt> {
 
     private static final long serialVersionUID = 1L;
 
-    private static final String ID_ENTITY_ACTIONS = "entityActions";
+    private static final String ID_OBJECT_ACTIONS = "objectActions";
 
-    public EntityHeaderPanel(final String id, final UiObjectWkt objectModel) {
+    public ObjectHeaderPanel(final String id, final UiObjectWkt objectModel) {
         super(id, objectModel);
     }
 
@@ -63,7 +63,7 @@ extends PanelAbstract<ManagedObject, UiObjectWkt> {
 
     private void addOrReplaceIconAndTitle() {
         final ComponentFactory componentFactory = getComponentFactoryRegistry()
-                .findComponentFactory(UiComponentType.ENTITY_ICON_TITLE_AND_COPYLINK, getEntityModel());
+                .findComponentFactory(UiComponentType.OBJECT_ICON_TITLE_AND_COPYLINK, getEntityModel());
         final Component component = componentFactory.createComponent(getEntityModel());
         addOrReplace(component);
     }
@@ -77,10 +77,10 @@ extends PanelAbstract<ManagedObject, UiObjectWkt> {
             .collect(Can.toCan());
 
             ActionLinksPanel
-                    .addActionLinks(this, ID_ENTITY_ACTIONS, topLevelActions,
+                    .addActionLinks(this, ID_OBJECT_ACTIONS, topLevelActions,
                             ActionLinksPanel.Style.INLINE_LIST);
         } else {
-            WktComponents.permanentlyHide(this, ID_ENTITY_ACTIONS);
+            WktComponents.permanentlyHide(this, ID_OBJECT_ACTIONS);
         }
     }
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanelFactory.java
similarity index 74%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanelFactory.java
index 6584082fd3d..0edb5bc17d5 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/header/EntityHeaderPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/header/ObjectHeaderPanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.header;
+package org.apache.causeway.viewer.wicket.ui.components.object.header;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
@@ -24,20 +24,20 @@ import org.apache.wicket.model.IModel;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.causeway.viewer.wicket.ui.components.object.ObjectComponentFactoryAbstract;
 
 /**
- * {@link ComponentFactory} for {@link EntityHeaderPanel}.
+ * {@link ComponentFactory} for {@link ObjectHeaderPanel}.
  */
-public class EntityHeaderPanelFactory extends EntityComponentFactoryAbstract {
+public class ObjectHeaderPanelFactory extends ObjectComponentFactoryAbstract {
 
-    public EntityHeaderPanelFactory() {
-        super(UiComponentType.ENTITY_SUMMARY, EntityHeaderPanel.class);
+    public ObjectHeaderPanelFactory() {
+        super(UiComponentType.OBJECT_SUMMARY, ObjectHeaderPanel.class);
     }
 
     @Override
     public Component createComponent(final String id, final IModel<?> model) {
         final UiObjectWkt objectModel = (UiObjectWkt) model;
-        return new EntityHeaderPanel(id, objectModel);
+        return new ObjectHeaderPanel(id, objectModel);
     }
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanel.html
similarity index 70%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanel.html
index ad1d8b27eb9..7b2d989a8de 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanel.html
@@ -20,12 +20,12 @@
 <html xmlns:wicket="http://wicket.apache.org">
     <body>
         <wicket:panel>
-             <span wicket:id="entityLinkWrapper" class="entityIconAndTitlePanel entityIconAndTitleComponentType">
-                 <a href="#" wicket:id="entityLink" class="entityUrlSource">
-                     <span wicket:id="entityIconFaLeft"></span>
-                     <img wicket:id="entityImage" class="entityImage"/>
-                     <span wicket:id="entityTitle" class="entityTitle">[title]</span>
-                     <span wicket:id="entityIconFaRight"></span>
+             <span wicket:id="objectLinkWrapper" class="objectIconAndTitlePanel objectIconAndTitleComponentType">
+                 <a href="#" wicket:id="objectLink" class="objectUrlSource">
+                     <span wicket:id="objectIconFaLeft"></span>
+                     <img wicket:id="objectImage" class="objectImage"/>
+                     <span wicket:id="objectTitle" class="objectTitle">[title]</span>
+                     <span wicket:id="objectIconFaRight"></span>
                  </a>
                  <wicket:child/>
             </span>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanel.java
similarity index 88%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanel.java
index 78e9ae397df..8b095fa9328 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.icontitle;
+package org.apache.causeway.viewer.wicket.ui.components.object.icontitle;
 
 import java.io.Serializable;
 import java.util.Objects;
@@ -35,7 +35,7 @@ import org.apache.causeway.viewer.wicket.model.models.ObjectAdapterModel;
 import org.apache.causeway.viewer.wicket.model.models.PageType;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.util.PageParameterUtils;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ColumnAbbreviationOptions;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ColumnAbbreviationOptions;
 import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 import org.apache.causeway.viewer.wicket.ui.util.WktComponents;
@@ -48,19 +48,19 @@ import lombok.experimental.Accessors;
  * {@link PanelAbstract Panel} representing the icon and title of an entity,
  * as per the provided {@link UiObjectWkt}.
  */
-class EntityIconAndTitlePanel
+class ObjectIconAndTitlePanel
 extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
 
     private static final long serialVersionUID = 1L;
 
-    private static final String ID_ENTITY_LINK_WRAPPER = "entityLinkWrapper";
-    private static final String ID_ENTITY_FONT_AWESOME_LEFT = "entityIconFaLeft";
-    private static final String ID_ENTITY_FONT_AWESOME_RIGHT = "entityIconFaRight";
-    private static final String ID_ENTITY_LINK = "entityLink";
-    private static final String ID_ENTITY_TITLE = "entityTitle";
-    private static final String ID_ENTITY_ICON = "entityImage";
+    private static final String ID_OBJECT_LINK_WRAPPER = "objectLinkWrapper";
+    private static final String ID_OBJECT_FONT_AWESOME_LEFT = "objectIconFaLeft";
+    private static final String ID_OBJECT_FONT_AWESOME_RIGHT = "objectIconFaRight";
+    private static final String ID_OBJECT_LINK = "objectLink";
+    private static final String ID_OBJECT_TITLE = "objectTitle";
+    private static final String ID_OBJECT_ICON = "objectImage";
 
-    public EntityIconAndTitlePanel(
+    public ObjectIconAndTitlePanel(
             final String id,
             final ObjectAdapterModel objectAdapterModel) {
         super(id, objectAdapterModel);
@@ -91,7 +91,7 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
     }
 
     private void addLinkWrapper() {
-        var linkWrapper = Wkt.container(ID_ENTITY_LINK_WRAPPER);
+        var linkWrapper = Wkt.container(ID_OBJECT_LINK_WRAPPER);
         linkWrapper.addOrReplace(createLinkWithIconAndTitle());
         addOrReplace(linkWrapper);
         onLinkWrapperCreated(linkWrapper);
@@ -106,31 +106,31 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
         }
 
         if (ManagedObjects.isNullOrUnspecifiedOrEmpty(linkedDomainObject)) {
-            WktComponents.permanentlyHide(link, ID_ENTITY_ICON);
-            Wkt.labelAdd(link, ID_ENTITY_TITLE, titleAbbreviated("(no object)"));
+            WktComponents.permanentlyHide(link, ID_OBJECT_ICON);
+            Wkt.labelAdd(link, ID_OBJECT_TITLE, titleAbbreviated("(no object)"));
         } else {
 
             linkedDomainObject.eitherIconOrFaLayers()
             .accept(
                     objectIcon->{
-                        Wkt.imageAddCachable(link, ID_ENTITY_ICON,
+                        Wkt.imageAddCachable(link, ID_OBJECT_ICON,
                                 getImageResourceCache().resourceReferenceForObjectIcon(objectIcon));
-                        WktComponents.permanentlyHide(link, ID_ENTITY_FONT_AWESOME_LEFT);
-                        WktComponents.permanentlyHide(link, ID_ENTITY_FONT_AWESOME_RIGHT);
+                        WktComponents.permanentlyHide(link, ID_OBJECT_FONT_AWESOME_LEFT);
+                        WktComponents.permanentlyHide(link, ID_OBJECT_FONT_AWESOME_RIGHT);
                     },
                     faLayers->{
-                        WktComponents.permanentlyHide(link, ID_ENTITY_ICON);
+                        WktComponents.permanentlyHide(link, ID_OBJECT_ICON);
                         if(CssClassFaPosition.isLeftOrUnspecified(faLayers.getPosition())) {
-                            Wkt.faIconLayersAdd(link, ID_ENTITY_FONT_AWESOME_LEFT, faLayers);
-                            WktComponents.permanentlyHide(link, ID_ENTITY_FONT_AWESOME_RIGHT);
+                            Wkt.faIconLayersAdd(link, ID_OBJECT_FONT_AWESOME_LEFT, faLayers);
+                            WktComponents.permanentlyHide(link, ID_OBJECT_FONT_AWESOME_RIGHT);
                         } else {
-                            WktComponents.permanentlyHide(link, ID_ENTITY_FONT_AWESOME_LEFT);
-                            Wkt.faIconLayersAdd(link, ID_ENTITY_FONT_AWESOME_RIGHT, faLayers);
+                            WktComponents.permanentlyHide(link, ID_OBJECT_FONT_AWESOME_LEFT);
+                            Wkt.faIconLayersAdd(link, ID_OBJECT_FONT_AWESOME_RIGHT, faLayers);
                         }
                     });
 
             final TitleRecord title = determineTitle(linkedDomainObject);
-            Wkt.labelAdd(link, ID_ENTITY_TITLE, title.abbreviatedTitle());
+            Wkt.labelAdd(link, ID_OBJECT_TITLE, title.abbreviatedTitle());
 
             // If the link title is abbreviated or not shown, add the full-title to the tooltip body.
             if(isTitleSuppressed() || title.isTitleAbbreviated()) {
@@ -158,7 +158,7 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
                 .createPageParametersForBookmarkablePageLink(linkedDomainObject);
         var pageClass = getPageClassRegistry().getPageClass(PageType.DOMAIN_OBJECT);
 
-        return Wkt.bookmarkablePageLinkWithVisibility(ID_ENTITY_LINK, pageClass, pageParameters,
+        return Wkt.bookmarkablePageLinkWithVisibility(ID_OBJECT_LINK, pageClass, pageParameters,
                 ()->isLinkVisible(linkedDomainObject()));
     }
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanelFactory.java
similarity index 87%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanelFactory.java
index f7828fb0598..c124de3542c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconAndTitlePanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.icontitle;
+package org.apache.causeway.viewer.wicket.ui.components.object.icontitle;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
@@ -31,7 +31,7 @@ import org.apache.causeway.viewer.wicket.ui.ComponentFactory;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
 /**
- * {@link ComponentFactory} for {@link EntityIconAndTitlePanel}.
+ * {@link ComponentFactory} for {@link ObjectIconAndTitlePanel}.
  *
  * @implNote Knows how to deal with {@link ObjectAdapterModel}. And for
  * {@link UiAttributeWkt} we have an adapter {@link ChainingObjectModel}
@@ -39,23 +39,23 @@ import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
  * with {@link UiAttributeWkt}.
  *
  */
-public class EntityIconAndTitlePanelFactory extends ComponentFactoryAbstract {
+public class ObjectIconAndTitlePanelFactory extends ComponentFactoryAbstract {
 
-    public EntityIconAndTitlePanelFactory(
+    public ObjectIconAndTitlePanelFactory(
             final UiComponentType uiComponentType,
             final Class<?> componentClass) {
         super(uiComponentType, componentClass);
     }
 
-    public EntityIconAndTitlePanelFactory(
+    public ObjectIconAndTitlePanelFactory(
             final UiComponentType uiComponentType,
             final String name,
             final Class<?> componentClass) {
         super(uiComponentType, name, componentClass);
     }
 
-    public EntityIconAndTitlePanelFactory() {
-        this(UiComponentType.ENTITY_ICON_AND_TITLE, EntityIconAndTitlePanel.class);
+    public ObjectIconAndTitlePanelFactory() {
+        this(UiComponentType.OBJECT_ICON_AND_TITLE, ObjectIconAndTitlePanel.class);
     }
 
     @Override
@@ -92,7 +92,7 @@ public class EntityIconAndTitlePanelFactory extends ComponentFactoryAbstract {
             throw _Exceptions.unexpectedCodeReach();
         }
 
-        return new EntityIconAndTitlePanel(id, objectAdapterModel);
+        return new ObjectIconAndTitlePanel(id, objectAdapterModel);
     }
 
     /**
@@ -101,7 +101,7 @@ public class EntityIconAndTitlePanelFactory extends ComponentFactoryAbstract {
     public static Component entityIconAndTitlePanel(
             final String componentId,
             final ObjectAdapterModel objectAdapterModel) {
-        return new EntityIconAndTitlePanel(componentId, objectAdapterModel);
+        return new ObjectIconAndTitlePanel(componentId, objectAdapterModel);
     }
 
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanel.html
similarity index 100%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanel.html
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanel.java
similarity index 86%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanel.java
index 8fc7ac27bf0..87bb1324c4a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.icontitle;
+package org.apache.causeway.viewer.wicket.ui.components.object.icontitle;
 
 import org.apache.wicket.MarkupContainer;
 
@@ -24,16 +24,16 @@ import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.ui.components.widgets.zclip.ZeroClipboardPanel;
 
 /**
- * An extension of {@link org.apache.causeway.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanel}
+ * An extension of {@link org.apache.causeway.viewer.wicket.ui.components.object.icontitle.ObjectIconAndTitlePanel}
  * that additionally has a link allowing to copy the url to the shown entity
  */
-class EntityIconTitleAndCopyLinkPanel extends EntityIconAndTitlePanel {
+class ObjectIconTitleAndCopyLinkPanel extends ObjectIconAndTitlePanel {
 
     private static final long serialVersionUID = 1L;
 
     private static final String ID_COPY_LINK = "copyLink";
 
-    public EntityIconTitleAndCopyLinkPanel(final String id, final UiObjectWkt objectModel) {
+    public ObjectIconTitleAndCopyLinkPanel(final String id, final UiObjectWkt objectModel) {
         super(id, objectModel);
     }
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanelFactory.java
similarity index 69%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanelFactory.java
index 0ee0f91d7c2..fa2921f3b3a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/entity/icontitle/EntityIconTitleAndCopyLinkPanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/object/icontitle/ObjectIconTitleAndCopyLinkPanelFactory.java
@@ -16,28 +16,28 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.entity.icontitle;
+package org.apache.causeway.viewer.wicket.ui.components.object.icontitle;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
 
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
-import org.apache.causeway.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.causeway.viewer.wicket.ui.components.object.ObjectComponentFactoryAbstract;
 
 /**
  * {@link org.apache.causeway.viewer.wicket.ui.ComponentFactory} for
- * {@link org.apache.causeway.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanel}.
+ * {@link org.apache.causeway.viewer.wicket.ui.components.object.icontitle.ObjectIconAndTitlePanel}.
  */
-public class EntityIconTitleAndCopyLinkPanelFactory extends EntityComponentFactoryAbstract {
+public class ObjectIconTitleAndCopyLinkPanelFactory extends ObjectComponentFactoryAbstract {
 
-    public EntityIconTitleAndCopyLinkPanelFactory() {
-        super(UiComponentType.ENTITY_ICON_TITLE_AND_COPYLINK, EntityIconTitleAndCopyLinkPanel.class);
+    public ObjectIconTitleAndCopyLinkPanelFactory() {
+        super(UiComponentType.OBJECT_ICON_TITLE_AND_COPYLINK, ObjectIconTitleAndCopyLinkPanel.class);
     }
 
     @Override
     public Component createComponent(final String id, final IModel<?> model) {
         final UiObjectWkt objectModel = (UiObjectWkt) model;
-        return new EntityIconTitleAndCopyLinkPanel(id, objectModel);
+        return new ObjectIconTitleAndCopyLinkPanel(id, objectModel);
     }
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.html
index 4cae5d1cc33..d78585164df 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.html
@@ -26,7 +26,7 @@
         <wicket:panel>
             <div class="propertyEditPanel propertyEditComponentType">
                 <div wicket:id="header" class="iconAndTitle card actionPanelHeaderNew">
-                     <wicket:container wicket:id="entityIconAndTitle">[icon and title]</wicket:container>
+                     <wicket:container wicket:id="objectIconAndTitle">[icon and title]</wicket:container>
                 </div>
                 <div wicket:id="propertyEditForm"></div>
             </div>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.java
index 03e5f26037f..d6a2f20dc41 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/property/PropertyEditPanel.java
@@ -77,7 +77,7 @@ extends PanelAbstract<ManagedObject, PropertyModel> {
         WebMarkupContainer header = addHeader();
 
         getComponentFactoryRegistry().addOrReplaceComponent(this, UiComponentType.PROPERTY_EDIT_FORM, propertyModel());
-        getComponentFactoryRegistry().addOrReplaceComponent(header, UiComponentType.ENTITY_ICON_AND_TITLE, propertyModel.getParentUiModel());
+        getComponentFactoryRegistry().addOrReplaceComponent(header, UiComponentType.OBJECT_ICON_AND_TITLE, propertyModel.getParentUiModel());
 
         Wkt.labelAdd(header, ID_PROPERTY_NAME, propertyModel()::getFriendlyName)
             .setEscapeModelStrings(true);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.html
index 173b259ffc6..03d4b5bceca 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.html
@@ -25,7 +25,7 @@
     <body>
         <wicket:panel>
             <div class="iconAndTitle propertyPanelHeaderNew">
-                <span wicket:enclosure="entityIconAndTitle"><span wicket:id="entityIconAndTitle">[icon and title]</span> :</span> <span wicket:id="propertyName" class="propertyName">[property name]</span>
+                <span wicket:enclosure="objectIconAndTitle"><span wicket:id="objectIconAndTitle">[icon and title]</span> :</span> <span wicket:id="propertyName" class="propertyName">[property name]</span>
             </div>
         </wicket:panel>
     </body>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
index eb2d495363a..bfa66972f2e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
@@ -38,7 +38,7 @@ extends PanelAbstract<ManagedObject, PropertyModel> {
 
         getComponentFactoryRegistry().addOrReplaceComponent(
                 this,
-                UiComponentType.ENTITY_ICON_AND_TITLE,
+                UiComponentType.OBJECT_ICON_AND_TITLE,
                 UiObjectWkt.ofAdapter(targetAdapter));
 
         Wkt.labelAdd(this, ID_PROPERTY_NAME, model::getFriendlyName)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/CausewayAjaxDataTable.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/CausewayAjaxDataTable.java
index f7c43070361..4746dd3fa0f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/CausewayAjaxDataTable.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/CausewayAjaxDataTable.java
@@ -30,7 +30,7 @@ import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.core.metamodel.tabular.DataRow;
 import org.apache.causeway.viewer.wicket.model.itemreuse.ReuseIfRowIndexEqualsStrategy;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsSortableDataProvider;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsSortableDataProvider;
 import org.apache.causeway.viewer.wicket.ui.components.table.head.HeadersToolbar;
 import org.apache.causeway.viewer.wicket.ui.components.table.nav.NavigationToolbar;
 import org.apache.causeway.viewer.wicket.ui.components.table.nonav.TotalRecordsToolbar;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/DataTableWithPagesAndFilter.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/DataTableWithPagesAndFilter.java
index 7753ed5782f..f342bcad256 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/DataTableWithPagesAndFilter.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/DataTableWithPagesAndFilter.java
@@ -45,8 +45,8 @@ import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.tableoption.PagesizeChoice;
 import org.apache.causeway.viewer.wicket.model.tableoption.SelectOperationChoice;
 import org.apache.causeway.viewer.wicket.model.tableoption.SelectOperationChoiceKey;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsSortableDataProvider;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ToggleboxColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsSortableDataProvider;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ToggleboxColumn;
 import org.apache.causeway.viewer.wicket.ui.components.table.nav.pagesize.PagesizeChooser;
 
 public abstract class DataTableWithPagesAndFilter<T, S> extends DataTable<T, S> {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbar.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbar.java
index 290d369675a..374a917424a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbar.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbar.java
@@ -27,7 +27,7 @@ import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.core.config.CausewayConfiguration;
 import org.apache.causeway.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsSortableDataProvider;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsSortableDataProvider;
 import org.apache.causeway.viewer.wicket.ui.components.table.DataTableWithPagesAndFilter;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbarAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbarAbstract.java
index 369188217af..17bc5522a5f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbarAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/table/head/HeadersToolbarAbstract.java
@@ -43,9 +43,9 @@ import org.apache.wicket.model.Model;
 
 import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ActionColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.TitleColumn;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ToggleboxColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ActionColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.TitleColumn;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ToggleboxColumn;
 import org.apache.causeway.viewer.wicket.ui.components.table.CausewayAjaxDataTable;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/tree/CausewayToWicketTreeAdapter.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/tree/CausewayToWicketTreeAdapter.java
index bdb4281f285..175fb3534a0 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/tree/CausewayToWicketTreeAdapter.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/tree/CausewayToWicketTreeAdapter.java
@@ -37,7 +37,7 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.viewer.wicket.model.models.UiAttributeWkt;
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
-import org.apache.causeway.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.object.icontitle.ObjectIconAndTitlePanelFactory;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
 class CausewayToWicketTreeAdapter {
@@ -110,7 +110,7 @@ class CausewayToWicketTreeAdapter {
         @Override
         protected Component newContentComponent(final String id, final IModel<_TreeNodeMemento> node) {
             final _TreeNodeMemento treeModel = node.getObject();
-            final Component entityIconAndTitle = EntityIconAndTitlePanelFactory.entityIconAndTitlePanel(
+            final Component entityIconAndTitle = ObjectIconAndTitlePanelFactory.entityIconAndTitlePanel(
                     id, treeModel.asObjectAdapterModel());
             if(treeExpansionModel().isSelected(treeModel.getTreePath())) {
                 Wkt.cssAppend(entityIconAndTitle, "tree-node-selected");
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.css b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.css
similarity index 89%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.css
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.css
index af751d6b4f5..aff3307efa1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.css
@@ -16,15 +16,15 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-div.entitySimpleLinkPanel  {
+div.objectSimpleLinkPanel  {
 	display: inline
 }
 
-div.entitySimpleLinkPanel > div {
+div.objectSimpleLinkPanel > div {
 	margin-left: 2px;
 }
 
-.entitySimpleLinkPanel .entityImage {
+.objectSimpleLinkPanel .objectImage {
 	width: 16px;
 	height: 16px;
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.html b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.html
similarity index 84%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.html
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.html
index bf78616bd1e..871c97dcb86 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.html
@@ -24,15 +24,15 @@
       lang="en">
 	<wicket:head>
 		<wicket:link>
-			<link href="EntityLinkSimplePanel.css" rel="stylesheet" type="text/css"/>
+			<link href="ObjectLinkSimplePanel.css" rel="stylesheet" type="text/css"/>
 		</wicket:link>
 	</wicket:head>
 	<body>
 		<wicket:panel>
-			<div class="entityLinkSimplePanel entityLinkComponentType">
+			<div class="objectLinkSimplePanel objectLinkComponentType">
 				<div>
-					<div wicket:id="entityIconAndTitle">[icon and title]</div>
-					<span wicket:id="entityTitleNull">(none)</span>
+					<div wicket:id="objectIconAndTitle">[icon and title]</div>
+					<span wicket:id="objectTitleNull">(none)</span>
 	  			</div>
 			</div>
 		</wicket:panel>
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.java
similarity index 86%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.java
index 9027ca0e5ee..a00bb9e277f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.widgets.entitysimplelink;
+package org.apache.causeway.viewer.wicket.ui.components.widgets.objectsimplelink;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.form.FormComponent;
@@ -30,7 +30,7 @@ import org.apache.causeway.core.metamodel.context.HasMetaModelContext;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.object.ManagedObjects;
 import org.apache.causeway.viewer.commons.model.components.UiComponentType;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ColumnAbbreviationOptions;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.columns.ColumnAbbreviationOptions;
 import org.apache.causeway.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
 import org.apache.causeway.viewer.wicket.ui.components.widgets.formcomponent.FormComponentPanelAbstract;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
@@ -39,16 +39,16 @@ import org.apache.causeway.viewer.wicket.ui.util.Wkt;
  * {@link FormComponentPanel} representing a reference to an entity: a link and
  * (optionally) an auto-complete field.
  */
-public class EntityLinkSimplePanel
+public class ObjectLinkSimplePanel
 extends FormComponentPanelAbstract<ManagedObject>
 implements CancelHintRequired, HasMetaModelContext  {
 
     private static final long serialVersionUID = 1L;
 
-    private static final String ID_ENTITY_ICON_AND_TITLE = "entityIconAndTitle";
-    private static final String ID_ENTITY_TITLE_NULL = "entityTitleNull";
+    private static final String ID_OBJECT_ICON_AND_TITLE = "objectIconAndTitle";
+    private static final String ID_OBJECT_TITLE_NULL = "objectTitleNull";
 
-    public EntityLinkSimplePanel(final String id, final IModel<ManagedObject> model) {
+    public ObjectLinkSimplePanel(final String id, final IModel<ManagedObject> model) {
         super(id, model);
         _Assert.assertTrue(model instanceof HasMetaModelContext);
         setType(ManagedObject.class);
@@ -67,24 +67,24 @@ implements CancelHintRequired, HasMetaModelContext  {
 
         if(isEmpty) {
             // represent null reference by a simple markup displaying '(none)'
-            Wkt.markupAdd(this, ID_ENTITY_TITLE_NULL,
+            Wkt.markupAdd(this, ID_OBJECT_TITLE_NULL,
                     getPlaceholderRenderService().asHtml(PlaceholderLiteral.NULL_REPRESENTATION));
-            permanentlyHide(ID_ENTITY_ICON_AND_TITLE);
+            permanentlyHide(ID_OBJECT_ICON_AND_TITLE);
 
         } else {
 
             var componentFactory = getComponentFactoryRegistry()
-                    .findComponentFactory(UiComponentType.ENTITY_ICON_AND_TITLE, objectModelForLink);
+                    .findComponentFactory(UiComponentType.OBJECT_ICON_AND_TITLE, objectModelForLink);
 
             final Component component = componentFactory
-                    .createComponent(ID_ENTITY_ICON_AND_TITLE, objectModelForLink);
+                    .createComponent(ID_OBJECT_ICON_AND_TITLE, objectModelForLink);
 
             // propagate options (if any) from this component to the child component, that's using them
             ColumnAbbreviationOptions.lookupIn(this)
                 .ifPresent(opts->opts.applyTo(component));
 
             addOrReplace(component);
-            permanentlyHide(ID_ENTITY_TITLE_NULL);
+            permanentlyHide(ID_OBJECT_TITLE_NULL);
         }
     }
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanelFactory.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanelFactory.java
similarity index 87%
rename from viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanelFactory.java
rename to viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanelFactory.java
index 6c5f64d152c..ae3fa815fa3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/entitysimplelink/EntityLinkSimplePanelFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/objectsimplelink/ObjectLinkSimplePanelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.wicket.ui.components.widgets.entitysimplelink;
+package org.apache.causeway.viewer.wicket.ui.components.widgets.objectsimplelink;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
@@ -27,10 +27,10 @@ import org.apache.causeway.viewer.wicket.model.models.UiAttributeWkt;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.ui.ComponentFactoryAbstract;
 
-public class EntityLinkSimplePanelFactory extends ComponentFactoryAbstract {
+public class ObjectLinkSimplePanelFactory extends ComponentFactoryAbstract {
 
-    public EntityLinkSimplePanelFactory() {
-        super(UiComponentType.ENTITY_LINK, EntityLinkSimplePanel.class);
+    public ObjectLinkSimplePanelFactory() {
+        super(UiComponentType.OBJECT_LINK, ObjectLinkSimplePanel.class);
     }
 
     @Override
@@ -47,6 +47,6 @@ public class EntityLinkSimplePanelFactory extends ComponentFactoryAbstract {
     @SuppressWarnings("unchecked")
     @Override
     public Component createComponent(final String id, final IModel<?> model) {
-        return new EntityLinkSimplePanel(id, (IModel<ManagedObject>)model);
+        return new ObjectLinkSimplePanel(id, (IModel<ManagedObject>)model);
     }
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
index 64b258521b8..12bdc18200d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
@@ -31,6 +31,7 @@ import org.apache.causeway.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
 import lombok.Getter;
+
 import de.agilecoders.wicket.core.Bootstrap;
 import de.agilecoders.wicket.core.settings.ActiveThemeProvider;
 import de.agilecoders.wicket.core.settings.IBootstrapSettings;
@@ -90,7 +91,7 @@ extends PanelAbstract<Void, IModel<Void>> {
                 item.add(AttributeModifier.append("class", "active"));
             }
 
-            // use Ajax link because Link's url looks like /ENTITY:3 and this confuses the browser
+            // use Ajax link because Link's url looks like /object:3 and this confuses the browser
             Wkt.add(item,
                     Wkt.link("themeLink", target->{
                         setActiveTheme(themeName);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
index b63601f9a46..f3a61a34eaa 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/common/bootstrap/css/bootstrap-overrides-all-v2.css
@@ -173,12 +173,12 @@ footer > .navbar {
 
 /* from ActionPromptHeaderPanel */
 
-.entityIconAndTitlePanel img {
+.objectIconAndTitlePanel img {
     width: 24px;
     height: 24px;
 }
 
-.entityIconAndTitlePanel span.actionName {
+.objectIconAndTitlePanel span.actionName {
     font-size: 20px;
     font-weight: bolder;
 }
@@ -212,7 +212,7 @@ footer > .navbar {
 
 
 /* from CollectionContentsMultipleViewsPanel.css */
-/* AND ALSO duplicated in from EntityLinksSelectorPanel.css */
+/* AND ALSO duplicated in from ObjectLinksSelectorPanel.css */
 
 .linksSelectorPanel .viewLinks {
     float:right;
@@ -304,40 +304,40 @@ span.ViewLinkItem.summary {
 */
 
 
-/* from EntityHeaderPanel.css */
+/* from ObjectHeaderPanel.css */
 
-.entityHeaderPanel {
+.objectHeaderPanel {
     clear:both;
     padding-top:10px;
     display:block;
 }
 
-div.entityHeaderPanel .iconAndTitle{
+div.objectHeaderPanel .iconAndTitle{
     float: left;
     padding:0;
     padding-bottom: 5px;
     width: 100%;
 }
 
-div.entityHeaderPanel .iconAndTitleLabel {
+div.objectHeaderPanel .iconAndTitleLabel {
     float: left;
     margin-bottom: 10px;
     margin-right: 10px;
 }
 
-div.entityHeaderPanel .entityActions .cssMenuPanel .cssMenuItems:first-child {
+div.objectHeaderPanel .objectActions .cssMenuPanel .cssMenuItems:first-child {
     float: left;
     margin-top: 3px;
     margin-left: 20px;
 }
 
-.entityHeaderPanel .entityImage {
+.objectHeaderPanel .objectImage {
     width: 32px;
     height: 32px;
     vertical-align:text-bottom;
 }
 
-.entityHeaderPanel .entityTitle {
+.objectHeaderPanel .objectTitle {
     font-weight:normal;
     text-decoration:none;
     padding-right: 30px;
@@ -411,13 +411,13 @@ span.containedButtonPanel {
 }
 
 
-/* from entityPropertiesPanel */
+/* from objectPropertiesPanel */
 
 
-.entityPropertiesPanel .properties.card-body {
+.objectPropertiesPanel .properties.card-body {
     padding-bottom: 5px;
 }
-.entityPropertiesPanel .collection.card-body {
+.objectPropertiesPanel .collection.card-body {
     padding-bottom: 0px;
 }
 
@@ -451,8 +451,8 @@ div.additionalLinkList {
 .collections ul.additionalLinkList,
 .standaloneCollectionPanel div.additionalLinkList,
 .standaloneCollectionPanel ul.additionalLinkList,
-.entityCollectionsPanel div.additionalLinkList,
-.entityCollectionsPanel ul.additionalLinkList {
+.parentedCollectionPanel div.additionalLinkList,
+.parentedCollectionPanel ul.additionalLinkList {
     padding-bottom: 0px;
 
 }
@@ -699,7 +699,7 @@ div.referencePanel.scalarNameAndValueComponentType {
     margin-bottom: 4px;
 }
 
-.referencePanel .entityLinkSelect2Panel .entityImage {
+.referencePanel .objectLinkSelect2Panel .objectImage {
     width: 20px;
     height: 20px;
 }
@@ -708,7 +708,7 @@ div.referencePanel.scalarNameAndValueComponentType {
     padding-right: 10px;
 }
 
-.referencePanel .form-group.label-left .scalarValueWrapper .entityLinkSelect2Panel{
+.referencePanel .form-group.label-left .scalarValueWrapper .objectLinkSelect2Panel{
     padding-top: 4px;
     padding-bottom: 3px;
 }
@@ -722,11 +722,11 @@ div.referencePanel.scalarNameAndValueComponentType {
     padding-top: 20px;
 }
 
-.entityCollectionsPanel .card-header {
+.parentedCollectionPanel .card-header {
     padding-bottom: 10px;
 }
 .standaloneCollectionPanel .card-header {
-    padding-bottom: 5px; /* different from entityCollectionsPanel because of display-inline ? of additionalLinks */
+    padding-bottom: 5px; /* different from parentedCollectionPanel because of display-inline ? of additionalLinks */
 }
 
 /*
@@ -804,13 +804,6 @@ footer .footer-image {
     padding-right: 30px;
 }
 
-/*
-.entityTabbed > .row > .leftColumn,
-.entityTabbed > .row > .rightColumn {
-    margin-top: 41px;
-}
-*/
-
 .tab-content {
     border-left: 1px solid #ddd;
     border-right: 1px solid #ddd;
@@ -904,7 +897,7 @@ footer .footer-image {
     padding: 5px;
 }
 
-.entityHeaderPanel .entityActions ul.additionalLinkList li.additionalLinkItem {
+.objectHeaderPanel .objectActions ul.additionalLinkList li.additionalLinkItem {
     padding-top: 3px;
     /*padding-bottom: 7px;*/
 }
@@ -978,7 +971,7 @@ div.scalarValueInlinePromptLink {
   opacity: 1.0;
 }
 
-.entityUrlSource {
+.objectUrlSource {
 	cursor: pointer;
 	display: inline;
 }
@@ -992,16 +985,16 @@ div.scalarValueInlinePromptLink {
     width: 85%;
 }
 
-.referencePanel .inlinePrompt .entityIconAndTitlePanel .entityImage {
+.referencePanel .inlinePrompt .objectIconAndTitlePanel .objectImage {
     width: 1.3em;
 	height: 1.3em;
 }
 
-.entityTitle {
+.objectTitle {
     text-decoration: none;
     color: var(--link-color);
 }
-.entityTitle:hover {
+.objectTitle:hover {
     text-decoration: underline;
     cursor: pointer;
     color: var(--link-color-hover);
@@ -1062,7 +1055,7 @@ h4.iconAndTitle a {
     display: inline-block;
     text-decoration: none;
 }
-h4.iconAndTitle a span.entityTitle:focus {
+h4.iconAndTitle a span.objectTitle:focus {
     outline: none;
 }
 
@@ -1157,7 +1150,7 @@ ul.navbar-wrap {
 
 /* DATATABLES.NET */
 
-div.entityCollection div.dataTables_wrapper {
+div.objectCollection div.dataTables_wrapper {
     margin-top: 15px;
 }
 
@@ -1202,7 +1195,7 @@ strong.wkt-component-with-tooltip  {
 
 .ui-helper-hidden-accessible { display:none; }
 
-span.entityIconAndTitlePanel > a {
+span.objectIconAndTitlePanel > a {
     text-decoration: none;
 }
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.css b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.css
index f9d37cfbd8f..5889eacee73 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.css
@@ -16,8 +16,6 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
- 
- /* === whereAmI feature === */
 
 .whereAmI {
     color: #555;
@@ -33,8 +31,6 @@
     font-size: unset;
 }
 
-.breadcrumb .entityUrlSource {
+.breadcrumb .objectUrlSource {
   	white-space: nowrap;
 }
-
-/* -------------------------- */
diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.java
index 24c00d19480..b57bbdce297 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/pages/obj/DomainObjectPage.java
@@ -47,7 +47,7 @@ import org.apache.causeway.viewer.wicket.model.hints.UiHintContainer;
 import org.apache.causeway.viewer.wicket.model.modelhelpers.WhereAmIHelper;
 import org.apache.causeway.viewer.wicket.model.models.UiObjectWkt;
 import org.apache.causeway.viewer.wicket.model.util.PageParameterUtils;
-import org.apache.causeway.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.object.icontitle.ObjectIconAndTitlePanelFactory;
 import org.apache.causeway.viewer.wicket.ui.pages.PageAbstract;
 import org.apache.causeway.viewer.wicket.ui.util.Wkt;
 
@@ -196,7 +196,7 @@ public class DomainObjectPage extends PageAbstract {
         final RepeatingView listItems = new RepeatingView(ID_WHEREAMI_ITEMS);
 
         whereAmIModel.streamParentChainReversed().forEach(objectModel->
-            listItems.add(EntityIconAndTitlePanelFactory.entityIconAndTitlePanel(listItems.newChildId(), objectModel)));
+            listItems.add(ObjectIconAndTitlePanelFactory.entityIconAndTitlePanel(listItems.newChildId(), objectModel)));
 
         Wkt.labelAdd(listItems, listItems.newChildId(), whereAmIModel.getStartOfChain().getTitle());
 
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/registries/components/ComponentFactoryConfigWkt.java b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/registries/components/ComponentFactoryConfigWkt.java
index 6c340556dee..8e9733497cd 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/registries/components/ComponentFactoryConfigWkt.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/registries/components/ComponentFactoryConfigWkt.java
@@ -63,28 +63,28 @@ import org.apache.causeway.viewer.wicket.ui.components.attributes.value.Composit
 import org.apache.causeway.viewer.wicket.ui.components.attributes.value.ValueAttributePanel;
 import org.apache.causeway.viewer.wicket.ui.components.attributes.value.ValueFallbackAttributePanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.bookmarkedpages.BookmarkedPagesPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.export.CollectionContentsAsExportFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.summary.CollectionContentsAsSummaryFactory;
-import org.apache.causeway.viewer.wicket.ui.components.collectioncontents.unresolved.CollectionContentsHiddenPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.export.CollectionContentsAsExportFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.parented.ParentedCollectionPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.ajaxtable.CollectionContentsAsAjaxTablePanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.multiple.CollectionContentsMultipleViewsPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.summary.CollectionContentsAsSummaryFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.present.unresolved.CollectionContentsHiddenPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.collection.standalone.StandaloneCollectionPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.empty.EmptyCollectionPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.collection.EntityCollectionPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.header.EntityHeaderPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.entity.icontitle.EntityIconTitleAndCopyLinkPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.footer.FooterPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.header.HeaderPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.layout.bs.BSGridPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.object.header.ObjectHeaderPanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.object.icontitle.ObjectIconAndTitlePanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.object.icontitle.ObjectIconTitleAndCopyLinkPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.property.PropertyEditFormPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.property.PropertyEditPanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.standalonecollection.StandaloneCollectionPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.tree.TreePanelFactories;
 import org.apache.causeway.viewer.wicket.ui.components.unknown.UnknownModelPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.value.StandaloneValuePanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.voidreturn.VoidReturnPanelFactory;
 import org.apache.causeway.viewer.wicket.ui.components.welcome.WelcomePanelFactory;
-import org.apache.causeway.viewer.wicket.ui.components.widgets.entitysimplelink.EntityLinkSimplePanelFactory;
+import org.apache.causeway.viewer.wicket.ui.components.widgets.objectsimplelink.ObjectLinkSimplePanelFactory;
 
 import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
@@ -173,10 +173,10 @@ public class ComponentFactoryConfigWkt {
         componentFactories.add(new BSGridPanelFactory());
 
         // lower-level
-        componentFactories.add(new EntityIconAndTitlePanelFactory());
-        componentFactories.add(new EntityIconTitleAndCopyLinkPanelFactory());
-        componentFactories.add(new EntityHeaderPanelFactory());
-        componentFactories.add(new EntityCollectionPanelFactory());
+        componentFactories.add(new ObjectIconAndTitlePanelFactory());
+        componentFactories.add(new ObjectIconTitleAndCopyLinkPanelFactory());
+        componentFactories.add(new ObjectHeaderPanelFactory());
+        componentFactories.add(new ParentedCollectionPanelFactory());
     }
 
     protected void addComponentFactoriesForEntityCollectionContents(
@@ -227,7 +227,7 @@ public class ComponentFactoryConfigWkt {
     }
 
     protected void addComponentFactoriesForEntityLink(final ComponentFactoryList componentFactories) {
-        componentFactories.add(new EntityLinkSimplePanelFactory());
+        componentFactories.add(new ObjectLinkSimplePanelFactory());
     }
 
     protected void addComponentFactoriesForVoidReturn(final ComponentFactoryList componentFactories) {