You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/12/05 20:13:18 UTC

[isis] branch ISIS-2215 created (now a1374eb)

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

danhaywood pushed a change to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git.


      at a1374eb  ISIS-2215: removes @ComponentScan throughout core.

This branch includes the following new commits:

     new e60cc85  ISIS-2214: adds @Module annotation (though not using it within core framework)
     new 2737d96  ISIS-2215: adds missing modules, move some classes around
     new b4444ce  ISIS-2215: fixes compile issues
     new d7a2cb1  ISIS-2215: moves fakedata.dom blobs and clob resources
     new 4f99702  ISIS-2215: lombok is failing to build in wicket-model ... fixing version to try to diagnose
     new 4b49380  ISIS-2215: fixes lombok issue
     new b79c1ed  ISIS-2215: fixes lombok issue
     new 0c8d0fb  ISIS-2215: fixes lombok issue
     new ee38e45  ISIS-2215: renames unit tests is all
     new a1374eb  ISIS-2215: removes @ComponentScan throughout core.

The 10 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[isis] 07/10: ISIS-2215: fixes lombok issue

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit b79c1ed511ca3724476e7b6e9c039d06c6a48f2d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 18:11:49 2019 +0000

    ISIS-2215: fixes lombok issue
---
 .../isis/viewer/wicket/model/models/EntityCollectionModel.java     | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index e392118..423eab4 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.wicket.Component;
 
 import org.apache.isis.applib.layout.component.CollectionLayoutData;
@@ -89,7 +90,7 @@ implements LinksProvider, UiHintContainer {
         // dynamically determine the spec of the elements
         // (ie so a List<Object> can be rendered according to the runtime type of its elements,
         // rather than the compile-time type
-        val lowestCommonSuperclassFinder = new LowestCommonSuperclassFinder();
+        final LowestCommonSuperclassFinder lowestCommonSuperclassFinder = new LowestCommonSuperclassFinder();
 
         //XXX lombok issue, cannot use val here
         final ObjectAdapterMementoService mementoService = model.getMementoService();
@@ -99,9 +100,9 @@ implements LinksProvider, UiHintContainer {
                 .map(mementoService::mementoForPojo)
                 .collect(Collectors.toList());
 
-        val specificationLoader = model.getSpecificationLoader();
+        final SpecificationLoader specificationLoader = model.getSpecificationLoader();
 
-        val elementSpec = lowestCommonSuperclassFinder.getLowestCommonSuperclass()
+        final ObjectSpecification elementSpec = lowestCommonSuperclassFinder.getLowestCommonSuperclass()
                 .map(specificationLoader::loadSpecification)
                 .orElse(collectionAsAdapter.getSpecification().getElementSpecification());
 


[isis] 06/10: ISIS-2215: fixes lombok issue

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4b4938000585229dbd711e2adcaa330a4e090dc4
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 18:09:13 2019 +0000

    ISIS-2215: fixes lombok issue
---
 .../isis/viewer/wicket/model/models/EntityCollectionModel.java       | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index 9bcb7f4..e392118 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -91,9 +91,10 @@ implements LinksProvider, UiHintContainer {
         // rather than the compile-time type
         val lowestCommonSuperclassFinder = new LowestCommonSuperclassFinder();
 
-        val mementoService = model.getMementoService();
+        //XXX lombok issue, cannot use val here
+        final ObjectAdapterMementoService mementoService = model.getMementoService();
 
-        val mementoList = streamElementsOf(collectionAsAdapter) // pojos
+        final List<ObjectAdapterMemento> mementoList = streamElementsOf(collectionAsAdapter) // pojos
                 .peek(lowestCommonSuperclassFinder::collect)
                 .map(mementoService::mementoForPojo)
                 .collect(Collectors.toList());


[isis] 05/10: ISIS-2215: lombok is failing to build in wicket-model ... fixing version to try to diagnose

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4f99702ccb09cd13797b8b332836046cd4d76cd6
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 17:34:43 2019 +0000

    ISIS-2215: lombok is failing to build in wicket-model ... fixing version to try to diagnose
---
 mavendeps/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mavendeps/pom.xml b/mavendeps/pom.xml
index 7f2805a..86124e6 100644
--- a/mavendeps/pom.xml
+++ b/mavendeps/pom.xml
@@ -35,7 +35,7 @@
 		<jar-plugin.automaticModuleName>org.apache.isis.mavendeps</jar-plugin.automaticModuleName>
 		<git-plugin.propertiesDir>org/apache/isis/mavendeps</git-plugin.propertiesDir>
 
-		<lombok.version>[1.18,)</lombok.version>
+		<lombok.version>1.18.10</lombok.version>
 
 		<failOnMissingWebXml>false</failOnMissingWebXml>
 


[isis] 01/10: ISIS-2214: adds @Module annotation (though not using it within core framework)

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit e60cc8551b6973182aff80139ca6561786be2708
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 10:47:48 2019 +0000

    ISIS-2214: adds @Module annotation (though not using it within core framework)
    
    ... this is just an opinion, for use within starter apps.
---
 .../org/apache/isis/applib/annotation/Module.java  | 63 ++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Module.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Module.java
new file mode 100644
index 0000000..edf4b3e
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Module.java
@@ -0,0 +1,63 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.applib.annotation;
+
+import java.lang.annotation.*;
+
+import org.apache.isis.applib.events.domain.ActionDomainEvent;
+import org.apache.isis.applib.services.command.CommandDtoProcessor;
+import org.apache.isis.applib.services.command.CommandWithDto;
+import org.apache.isis.applib.services.command.spi.CommandService;
+import org.apache.isis.applib.services.conmap.command.ContentMappingServiceForCommandDto;
+import org.apache.isis.applib.services.conmap.command.ContentMappingServiceForCommandsDto;
+import org.apache.isis.applib.value.Blob;
+import org.apache.isis.applib.value.Clob;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+/**
+ * Intended to be annotated on the root marker class of a (Maven) module which contains a single coherent set of
+ * functionality, possibly including domain services.
+ *
+ * <p>
+ * A {@link Module @Module} (because it's a meta-annotation) is also a Spring {@link Configuration @Configuration},
+ * which means that the functionality can be depended upon transitively using Spring's {@link Import @Import}
+ * annotation. Normally the import graph mirrors the dependencies in Maven.
+ * </p>
+ *
+ * <p>
+ * Also, a {@link Module @Module} also declares the Spring {@link ComponentScan @ComponentScan} (with no parameters),
+ * which means that any domain services in the same package or subpackages are automatically found and registered.
+ * </p>
+ *
+ * @implNote - there are possible performance implications from using this annotation, because it may result in
+ *             scanning more classes than are needed.  It is therefore not used within the framework code, but is
+ *             provided as a convenience by domain applications.
+ */
+@Inherited
+@Target({ ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Configuration
+@Documented
+@ComponentScan
+public @interface Module {
+
+}
\ No newline at end of file


[isis] 08/10: ISIS-2215: fixes lombok issue

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0c8d0fb1427fc8522e5b3f4d5b963d45362e70df
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 18:15:10 2019 +0000

    ISIS-2215: fixes lombok issue
---
 .../wicket/model/models/EntityCollectionModel.java | 30 +++++++++++-----------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index 423eab4..ba960e8 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@ -122,14 +122,14 @@ implements LinksProvider, UiHintContainer {
 
     private static EntityCollectionModel parentedOf(EntityModel entityModel) {
 
-        val type = Type.PARENTED;
+        final Type type = Type.PARENTED;
 
-        val collection = collectionFor(entityModel);
-        val typeOf = forName(collection.getSpecification());
-        val pageSize = pageSize(collection.getFacet(PagedFacet.class), PAGE_SIZE_DEFAULT_FOR_PARENTED);
-        val sortedByFacet = collection.getFacet(SortedByFacet.class);
+        final OneToManyAssociation collection = collectionFor(entityModel);
+        final Class<?> typeOf = forName(collection.getSpecification());
+        final int pageSize = pageSize(collection.getFacet(PagedFacet.class), PAGE_SIZE_DEFAULT_FOR_PARENTED);
+        final SortedByFacet sortedByFacet = collection.getFacet(SortedByFacet.class);
 
-        val colModel = new EntityCollectionModel(
+        final EntityCollectionModel colModel = new EntityCollectionModel(
                 entityModel.getCommonContext(), type, entityModel, typeOf, pageSize);
 
         colModel.collectionMemento = new CollectionMemento(collection);
@@ -144,10 +144,10 @@ implements LinksProvider, UiHintContainer {
             List<ObjectAdapterMemento> mementoList, 
             int pageSize) {
 
-        val type = Type.STANDALONE;
-        val entityModel = (EntityModel)null;
+        final Type type = Type.STANDALONE;
+        final EntityModel entityModel = null;
 
-        val colModel = new EntityCollectionModel(commonContext, type, entityModel, typeOf, pageSize);
+        final EntityCollectionModel colModel = new EntityCollectionModel(commonContext, type, entityModel, typeOf, pageSize);
         colModel.mementoList = mementoList;
         return colModel;
 
@@ -236,8 +236,8 @@ implements LinksProvider, UiHintContainer {
             @Override
             List<ManagedObject> load(EntityCollectionModel colModel) {
 
-                val adapter = colModel.getCommonContext()
-                        .reconstructObject(colModel.getParentObjectAdapterMemento()); 
+                final ManagedObject adapter = colModel.getCommonContext()
+                        .reconstructObject(colModel.getParentObjectAdapterMemento());
 
                 final OneToManyAssociation collection = colModel.collectionMemento
                         .getCollection(colModel.getSpecificationLoader());
@@ -395,9 +395,9 @@ implements LinksProvider, UiHintContainer {
 
     private static OneToManyAssociation collectionFor(EntityModel entityModel) {
 
-        val parentObjectAdapterMemento = entityModel.getObjectAdapterMemento();
-        val collectionLayoutData = entityModel.getCollectionLayoutData();
-        val specificationLoader = entityModel.getSpecificationLoader();
+        final ObjectAdapterMemento parentObjectAdapterMemento = entityModel.getObjectAdapterMemento();
+        final CollectionLayoutData collectionLayoutData = entityModel.getCollectionLayoutData();
+        final SpecificationLoader specificationLoader = entityModel.getSpecificationLoader();
 
         if(collectionLayoutData == null) {
             throw new IllegalArgumentException("EntityModel must have a CollectionLayoutMetadata");
@@ -515,7 +515,7 @@ implements LinksProvider, UiHintContainer {
 
     public void toggleSelectionOn(ManagedObject selectedAdapter) {
         //XXX lombok issue, cannot use val here
-        ObjectAdapterMemento selectedAsMemento = super.getMementoService().mementoForAdapter(selectedAdapter); 
+        final ObjectAdapterMemento selectedAsMemento = super.getMementoService().mementoForAdapter(selectedAdapter);
 
         // try to remove; if couldn't, then mustn't have been in there, in which case add.
         boolean removed = toggledMementosList.remove(selectedAsMemento);


[isis] 09/10: ISIS-2215: renames unit tests is all

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit ee38e45719efdedd555a559e46c742e99dfe4996
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 18:24:08 2019 +0000

    ISIS-2215: renames unit tests is all
---
 ...wrappedObject.java => WrapperFactoryDefault_wrappedObject_Test.java} | 2 +-
 ...ent.java => WrapperFactoryDefault_wrappedObject_transient_Test.java} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault_wrappedObject_Test.java
similarity index 99%
rename from core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
rename to core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault_wrappedObject_Test.java
index 8fccc17..c746edb 100644
--- a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
+++ b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault_wrappedObject_Test.java
@@ -75,7 +75,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.junit.Assert.assertThat;
 
-public class WrapperFactoryDefaultTest_wrappedObject {
+public class WrapperFactoryDefault_wrappedObject_Test {
 
     @Rule
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
diff --git a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault_wrappedObject_transient_Test.java
similarity index 99%
rename from core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
rename to core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault_wrappedObject_transient_Test.java
index 812fe9a..0bf6796 100644
--- a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
+++ b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault_wrappedObject_transient_Test.java
@@ -72,7 +72,7 @@ import static org.junit.Assert.assertThat;
 /**
  * Contract test.
  */
-public class WrapperFactoryDefaultTest_wrappedObject_transient {
+public class WrapperFactoryDefault_wrappedObject_transient_Test {
 
     @Rule
     public final JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);


[isis] 10/10: ISIS-2215: removes @ComponentScan throughout core.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a1374eb34f7c14e4f2686ec4697a5f122d378752
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 20:12:39 2019 +0000

    ISIS-2215: removes @ComponentScan throughout core.
---
 .../core/modules/ROOT/partials/component-nav.adoc  |   4 +-
 .../isis-configurations-and-modules.pptx           | Bin 50050 -> 53103 bytes
 core/applib/pom.xml                                |   5 --
 .../org/apache/isis/applib/IsisModuleApplib.java   |   1 -
 .../bytebuddy/IsisModuleCodegenByteBuddy.java      |   6 ++
 .../ServiceInjectorTestUsingCodegenPlugin.java     |   1 +
 .../ServiceInstantiatorTestUsingCodegenPlugin.java |   1 +
 core/metamodel/pom.xml                             |  30 +++++-----
 .../apache/isis/metamodel/IsisModuleMetamodel.java |   2 +
 .../applib/{services => }/IsisModuleJdoApplib.java |   2 +-
 core/persistence/jdo/datanucleus-5/pom.xml         |   2 +-
 .../datanucleus5/IsisModuleJdoDataNucleus5.java    |  41 ++++++++-----
 .../persistence/PersistenceSession5.java           |   9 +--
 core/runtime-services/pom.xml                      |   4 ++
 .../services/IsisModuleRuntimeServices.java        |  66 ++++++++++++++++++++-
 .../isis/runtime/services/ServiceInstantiator.java |   1 +
 .../repository/RepositoryServiceDefault.java       |   3 +-
 .../services/routing/RoutingServiceDefault.java    |   3 +-
 core/runtime/pom.xml                               |  18 ++----
 .../org/apache/isis/runtime/IsisModuleRuntime.java |  25 +++++++-
 .../runtime/scoping}/RequestScopedService.java     |   2 +-
 .../org/apache/isis/schema/IsisModuleSchema.java   |   5 ++
 .../security/bypass/IsisModuleSecurityBypass.java  |   8 ++-
 .../keycloak/IsisModuleSecurityKeycloak.java       |  14 ++++-
 .../security/shiro/IsisModuleSecurityShiro.java    |  15 ++++-
 .../shiro/authentication/ShiroAuthenticator.java   |   2 +-
 .../shiro/authorization/ShiroAuthorizor.java       |   2 +-
 .../shiro/{ => context}/ShiroSecurityContext.java  |   2 +-
 .../{ => realm/ldap}/IsisLdapContextFactory.java   |   2 +-
 .../shiro/{ => realm/ldap}/IsisLdapRealm.java      |   6 +-
 .../shiro/{ => webmodule}/WebModuleShiro.java      |   2 +-
 .../IsisModuleRestfulObjectsJaxrsResteasy4.java    |   6 ++
 core/viewers/restfulobjects/rendering/pom.xml      |   4 --
 .../IsisModuleRestfulObjectsRendering.java         |  25 ++++++++
 .../viewer/IsisModuleRestfulObjectsViewer.java     |  10 +++-
 .../viewer/webmodule/WebModuleRestfulObjects.java  |   2 +-
 .../auth/AuthenticationSessionStrategy.java        |   2 +-
 .../viewer/wicket/model/IsisModuleWicketModel.java |   6 ++
 .../isis/viewer/wicket/ui/IsisModuleWicketUi.java  |  10 ++++
 .../wicket/viewer/IsisModuleWicketViewer.java      |  35 ++++++++++-
 .../src/main/doc/modules/webapp}/_attributes.adoc  |   0
 .../doc/modules/{runtime-web => webapp}/nav.adoc   |   0
 .../doc/modules/webapp/pages}/_attributes.adoc     |   0
 .../{runtime-web => webapp}/pages/about.adoc       |   0
 .../doc/modules/webapp/partials}/_attributes.adoc  |   0
 .../partials/module-nav.adoc                       |   0
 .../org/apache/isis/webapp/IsisModuleWebapp.java   |  21 ++++---
 core/webboot-springboot/pom.xml                    |   5 --
 .../runtime-spring/partials/module-nav.adoc        |   1 -
 .../modules/webboot-springboot}/_attributes.adoc   |   0
 .../nav.adoc                                       |   0
 .../webboot-springboot/pages}/_attributes.adoc     |   0
 .../pages/about.adoc                               |   0
 .../webboot-springboot/partials}/_attributes.adoc  |   0
 .../webboot-springboot/partials/module-nav.adoc    |   1 +
 .../webboot/springboot/IsisModuleSpringBoot.java   |   4 +-
 .../isis/testdomain/shiro/AbstractShiroTest.java   |   2 +-
 .../shiro/ShiroSecmanLdap_restfulStressTest.java   |   2 +-
 .../smoketests/src/test/resources/shiro-ldap.ini   |   4 +-
 .../test/resources/shiro-secman-ldap-cached.ini    |   4 +-
 .../src/test/resources/shiro-secman-ldap.ini       |   4 +-
 .../extensions/fixtures/IsisModuleExtFixtures.java |  19 +++---
 mavendeps/webapp/pom.xml                           |   5 --
 63 files changed, 329 insertions(+), 127 deletions(-)

diff --git a/antora/components/core/modules/ROOT/partials/component-nav.adoc b/antora/components/core/modules/ROOT/partials/component-nav.adoc
index 09035fd..d52c314 100644
--- a/antora/components/core/modules/ROOT/partials/component-nav.adoc
+++ b/antora/components/core/modules/ROOT/partials/component-nav.adoc
@@ -6,7 +6,7 @@ include::core:codegen-bytebuddy:partial$module-nav.adoc[]
 include::core:metamodel:partial$module-nav.adoc[]
 include::core:runtime:partial$module-nav.adoc[]
 include::core:runtime-services:partial$module-nav.adoc[]
-include::core:runtime-spring:partial$module-nav.adoc[]
-include::core:runtime-web:partial$module-nav.adoc[]
+include::core:webboot-springboot:partial$module-nav.adoc[]
+include::core:webapp:partial$module-nav.adoc[]
 include::core:smoketests:partial$module-nav.adoc[]
 
diff --git a/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx b/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx
index 62b22f3..748724e 100644
Binary files a/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx and b/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx differ
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 3701624..380f390 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -69,11 +69,6 @@
 
     <dependencies>
     
-    	<dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-commons</artifactId>
-        </dependency>
-    
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-schema</artifactId>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java b/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
index fa69121..0ec6fa6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
@@ -89,7 +89,6 @@ import org.springframework.context.annotation.Import;
         JaxbServiceDefault.class,
         PublisherServiceLogging.class
 
-
 })
 public class IsisModuleApplib {
 
diff --git a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java
index b12e8bc..bafbb09 100644
--- a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java
+++ b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java
@@ -1,7 +1,13 @@
 package org.apache.isis.codegen.bytebuddy;
 
+import org.apache.isis.commons.IsisModuleCommons;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
 
 @Configuration
+@Import({
+        // modules
+        IsisModuleCommons.class,
+})
 public class IsisModuleCodegenByteBuddy {
 }
diff --git a/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInjectorTestUsingCodegenPlugin.java b/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInjectorTestUsingCodegenPlugin.java
index 820e6a4..fa82903 100644
--- a/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInjectorTestUsingCodegenPlugin.java
+++ b/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInjectorTestUsingCodegenPlugin.java
@@ -30,6 +30,7 @@ import java.util.stream.IntStream;
 
 import javax.enterprise.context.RequestScoped;
 
+import org.apache.isis.runtime.scoping.RequestScopedService;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
diff --git a/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java b/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java
index 4af6762..7ec1817 100644
--- a/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java
+++ b/core/detached-tests/src/test/java/org/apache/isis/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java
@@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit;
 
 import javax.enterprise.context.RequestScoped;
 
+import org.apache.isis.runtime.scoping.RequestScopedService;
 import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
diff --git a/core/metamodel/pom.xml b/core/metamodel/pom.xml
index 4ef95dd..a7ec125 100644
--- a/core/metamodel/pom.xml
+++ b/core/metamodel/pom.xml
@@ -66,26 +66,14 @@
     
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-unittestsupport</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-applib</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-config</artifactId>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-security-api</artifactId>
@@ -121,6 +109,20 @@
                 </exclusion>
             </exclusions>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-unittestsupport</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-applib</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java
index 1e96b1d..eb552b1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java
@@ -47,6 +47,7 @@ import org.apache.isis.metamodel.services.user.UserServiceDefault;
 import org.apache.isis.metamodel.specloader.InjectorMethodEvaluatorDefault;
 import org.apache.isis.metamodel.specloader.ProgrammingModelServiceDefault;
 import org.apache.isis.metamodel.specloader.SpecificationLoaderDefault;
+import org.apache.isis.security.api.IsisModuleSecurityApi;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -56,6 +57,7 @@ import org.springframework.context.annotation.Import;
         // modules
         IsisModuleApplib.class,
         IsisModuleConfig.class,
+        IsisModuleSecurityApi.class,
 
         // @Configuration's
         MetaModelContexts.class,
diff --git a/core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisModuleJdoApplib.java b/core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModuleJdoApplib.java
similarity index 94%
rename from core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisModuleJdoApplib.java
rename to core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModuleJdoApplib.java
index 37c6cca..310ee16 100644
--- a/core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisModuleJdoApplib.java
+++ b/core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModuleJdoApplib.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.persistence.jdo.applib.services;
+package org.apache.isis.persistence.jdo.applib;
 
 import org.springframework.context.annotation.Configuration;
 
diff --git a/core/persistence/jdo/datanucleus-5/pom.xml b/core/persistence/jdo/datanucleus-5/pom.xml
index 3038a3a..5f046ba 100644
--- a/core/persistence/jdo/datanucleus-5/pom.xml
+++ b/core/persistence/jdo/datanucleus-5/pom.xml
@@ -77,7 +77,7 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-runtime-services</artifactId>
+			<artifactId>isis-runtime</artifactId>
 		</dependency>
 
 		<dependency>
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java
index b569a9f..6c8b651 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java
@@ -22,7 +22,12 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.isis.metamodel.IsisModuleMetamodel;
-import org.apache.isis.persistence.jdo.applib.services.IsisModuleJdoApplib;
+import org.apache.isis.persistence.jdo.applib.IsisModuleJdoApplib;
+import org.apache.isis.persistence.jdo.datanucleus5.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore;
+import org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionLong;
+import org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionTimestamp;
+import org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata;
+import org.apache.isis.runtime.IsisModuleRuntime;
 import org.apache.isis.schema.IsisModuleSchema;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Bean;
@@ -42,23 +47,29 @@ import org.apache.isis.persistence.jdo.datanucleus5.persistence.PersistenceSessi
 @Configuration
 @Import({
         // modules
+        IsisModuleRuntime.class,
         IsisModuleJdoApplib.class,
-        IsisModuleMetamodel.class,
-        IsisModuleSchema.class,
 
-    DataNucleusSettings.class, // config bean
-    JdoProgrammingModelPlugin.class, // metamodel extensions
-    JdoPersistenceLifecycleService.class,
-    MetricsServiceDefault.class,
-    IsisJdoSupportDN5.class,
-    IsisPlatformTransactionManagerForJdo.class,
-    PersistenceSessionFactory5.class
+        // @Component's
+        JdoProgrammingModelPlugin.class,
+
+        // @Service's
+        DataNucleusSettings.class,
+        JdoPersistenceLifecycleService.class,
+        IsisJdoSupportDN5.class,
+        IsisPlatformTransactionManagerForJdo.class,
+        PersistenceSessionFactory5.class,
+
+        // @DomainService's
+        MetricsServiceDefault.class,
+        ExceptionRecognizerCompositeForJdoObjectStore.class,
+
+        // @Mixin's
+        Persistable_datanucleusIdLong.class,
+        Persistable_datanucleusVersionLong.class,
+        Persistable_datanucleusVersionTimestamp.class,
+        Persistable_downloadJdoMetadata.class,
 })
-@ComponentScan(
-        basePackageClasses= {
-                // bring in the mixins
-                Persistable_datanucleusIdLong.class,
-        })
 public class IsisModuleJdoDataNucleus5 {
     
     // reserved for datanucleus' own config props
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java
index 34ae594..6ee432b 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java
@@ -81,13 +81,6 @@ import org.apache.isis.metamodel.spec.EntityState;
 import org.apache.isis.metamodel.spec.FreeStandingList;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
-import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.commands.DataNucleusCreateObjectCommand;
-import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.commands.DataNucleusDeleteObjectCommand;
-import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor;
-import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor;
-import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryProcessor;
-import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.spi.JdoObjectIdSerializer;
-import org.apache.isis.persistence.jdo.datanucleus5.objectadapter.ObjectAdapterContext;
 import org.apache.isis.runtime.persistence.FixturesInstalledStateHolder;
 import org.apache.isis.runtime.persistence.NotPersistableException;
 import org.apache.isis.runtime.persistence.UnsupportedFindException;
@@ -96,7 +89,7 @@ import org.apache.isis.runtime.persistence.objectstore.transaction.DestroyObject
 import org.apache.isis.runtime.persistence.objectstore.transaction.PersistenceCommand;
 import org.apache.isis.runtime.persistence.query.PersistenceQueryFindAllInstances;
 import org.apache.isis.runtime.persistence.query.PersistenceQueryFindUsingApplibQueryDefault;
-import org.apache.isis.runtime.services.RequestScopedService;
+import org.apache.isis.runtime.scoping.RequestScopedService;
 import org.apache.isis.runtime.system.persistence.PersistenceQuery;
 import org.apache.isis.security.api.authentication.AuthenticationSession;
 
diff --git a/core/runtime-services/pom.xml b/core/runtime-services/pom.xml
index a3bd910..8fcb49f 100644
--- a/core/runtime-services/pom.xml
+++ b/core/runtime-services/pom.xml
@@ -71,6 +71,10 @@
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-runtime</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-codegen-bytebuddy</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.isis.core</groupId>
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java
index c654f3f..5d4cfa8 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java
@@ -18,16 +18,80 @@
  */
 package org.apache.isis.runtime.services;
 
+import org.apache.isis.codegen.bytebuddy.IsisModuleCodegenByteBuddy;
 import org.apache.isis.runtime.IsisModuleRuntime;
+import org.apache.isis.runtime.services.auth.AuthenticationSessionProviderDefault;
+import org.apache.isis.runtime.services.auth.AuthorizationManagerStandard;
+import org.apache.isis.runtime.services.background.CommandExecutorServiceDefault;
+import org.apache.isis.runtime.services.bookmarks.BookmarkServiceInternalDefault;
+import org.apache.isis.runtime.services.command.CommandDtoServiceInternalDefault;
+import org.apache.isis.runtime.services.command.CommandServiceDefault;
+import org.apache.isis.runtime.services.confmenu.ConfigurationViewServiceDefault;
+import org.apache.isis.runtime.services.email.EmailServiceDefault;
+import org.apache.isis.runtime.services.eventbus.EventBusServiceSpring;
+import org.apache.isis.runtime.services.factory.FactoryServiceDefault;
+import org.apache.isis.runtime.services.homepage.HomePageResolverServiceDefault;
+import org.apache.isis.runtime.services.i18n.po.TranslationServicePo;
+import org.apache.isis.runtime.services.i18n.po.TranslationServicePoMenu;
+import org.apache.isis.runtime.services.ixn.InteractionDtoServiceInternalDefault;
+import org.apache.isis.runtime.services.menubars.MenuBarsLoaderServiceDefault;
+import org.apache.isis.runtime.services.menubars.bootstrap3.MenuBarsServiceBS3;
+import org.apache.isis.runtime.services.message.MessageServiceDefault;
+import org.apache.isis.runtime.services.publish.PublishingServiceInternalDefault;
+import org.apache.isis.runtime.services.repository.RepositoryServiceDefault;
+import org.apache.isis.runtime.services.routing.RoutingServiceDefault;
+import org.apache.isis.runtime.services.sessmgmt.SessionManagementServiceDefault;
+import org.apache.isis.runtime.services.sudo.SudoServiceDefault;
+import org.apache.isis.runtime.services.userprof.UserProfileServiceDefault;
+import org.apache.isis.runtime.services.userreg.EmailNotificationServiceDefault;
+import org.apache.isis.runtime.services.wrapper.WrapperFactoryDefault;
+import org.apache.isis.runtime.services.xactn.TransactionServiceSpring;
+import org.apache.isis.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
+        // modules
         IsisModuleRuntime.class,
+        IsisModuleCodegenByteBuddy.class,
+
+        // @Service's
+        AuthenticationSessionProviderDefault.class,
+        AuthorizationManagerStandard.class,
+        CommandExecutorServiceDefault.class,
+        BookmarkServiceInternalDefault.class,
+        CommandServiceDefault.class,
+        EventBusServiceSpring.class,
+        FactoryServiceDefault.class,
+        HomePageResolverServiceDefault.class,
+        TranslationServicePo.class,
+        MenuBarsLoaderServiceDefault.class,
+        MenuBarsServiceBS3.class,
+        MessageServiceDefault.class,
+        SessionManagementServiceDefault.class,
+        WrapperFactoryDefault.class,
+        TransactionServiceSpring.class,
+        XmlSnapshotServiceDefault.class,
+
+        // @Controller
+        RoutingServiceDefault.class,
+
+        // @Repository's
+        RepositoryServiceDefault.class,
+
+        // @DomainService's
+        CommandDtoServiceInternalDefault.class,
+        ConfigurationViewServiceDefault.class,
+        EmailServiceDefault.class,
+        TranslationServicePoMenu.class,
+        InteractionDtoServiceInternalDefault.class,
+        PublishingServiceInternalDefault.class,
+        SudoServiceDefault.class,
+        UserProfileServiceDefault.class,
+        EmailNotificationServiceDefault.class,
 })
-@ComponentScan
 public class IsisModuleRuntimeServices {
 
 }
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ServiceInstantiator.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ServiceInstantiator.java
index afa694e..7672c27 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ServiceInstantiator.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/ServiceInstantiator.java
@@ -38,6 +38,7 @@ import org.apache.isis.commons.internal.factory.InstanceCreationException;
 import org.apache.isis.commons.internal.plugins.codegen.ProxyFactory;
 import org.apache.isis.metamodel.commons.MethodExtensions;
 import org.apache.isis.metamodel.specloader.classsubstitutor.ProxyEnhanced;
+import org.apache.isis.runtime.scoping.RequestScopedService;
 
 import lombok.extern.log4j.Log4j2;
 
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/repository/RepositoryServiceDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/repository/RepositoryServiceDefault.java
index 0b2b813..232ba4c 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/repository/RepositoryServiceDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/repository/RepositoryServiceDefault.java
@@ -28,6 +28,7 @@ import java.util.stream.Collectors;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
+import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.NonRecoverableException;
@@ -48,7 +49,7 @@ import org.apache.isis.runtime.system.persistence.PersistenceSession;
 
 import lombok.val;
 
-@Service
+@Repository
 public class RepositoryServiceDefault implements RepositoryService {
 
     @Inject private FactoryService factoryService;
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/routing/RoutingServiceDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/routing/RoutingServiceDefault.java
index 630f48b..42cefc1 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/routing/RoutingServiceDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/routing/RoutingServiceDefault.java
@@ -20,6 +20,7 @@ package org.apache.isis.runtime.services.routing;
 
 import javax.inject.Inject;
 
+import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.services.routing.RoutingService;
@@ -27,7 +28,7 @@ import org.apache.isis.metamodel.services.homepage.HomePageResolverService;
 
 import lombok.val;
 
-@Service
+@Controller
 public class RoutingServiceDefault implements RoutingService {
 
     @Override
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 8731c7e..63154c7 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -61,12 +61,10 @@
     </build>
 
     <dependencies>
-	
+
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
+            <artifactId>isis-metamodel</artifactId>
         </dependency>
 
         <dependency>
@@ -77,22 +75,18 @@
 
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-metamodel</artifactId>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-metamodel</artifactId>
+            <artifactId>isis-applib</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-schema</artifactId>
+            <artifactId>isis-metamodel</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
         </dependency>
 
-
     </dependencies>
 
     <profiles>
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java b/core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java
index f53b450..ca151e9 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java
@@ -19,15 +19,38 @@
 package org.apache.isis.runtime;
 
 import org.apache.isis.metamodel.IsisModuleMetamodel;
+import org.apache.isis.runtime.memento.ObjectAdapterMementoServiceDefault;
+import org.apache.isis.runtime.system.context.session.RuntimeEventService;
+import org.apache.isis.runtime.system.context.session.RuntimeEventSupport_Spring;
+import org.apache.isis.runtime.system.persistence.events.PersistenceEventService;
+import org.apache.isis.runtime.system.persistence.events.PersistenceEventService_Spring;
+import org.apache.isis.runtime.system.persistence.events.TimestampService;
+import org.apache.isis.runtime.system.session.IsisSessionFactoryDefault;
+import org.apache.isis.runtime.system.transaction.AuditingServiceInternal;
+import org.apache.isis.runtime.system.transaction.ChangedObjectsServiceInternal;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
+        // modules
         IsisModuleMetamodel.class,
+
+        // @Service's
+        ObjectAdapterMementoServiceDefault.class,
+        RuntimeEventService.class,
+        PersistenceEventService.class,
+        TimestampService.class,
+        IsisSessionFactoryDefault.class,
+        AuditingServiceInternal.class,
+        ChangedObjectsServiceInternal.class,
+
+        // @Configuration's
+        RuntimeEventSupport_Spring.class,
+        PersistenceEventService_Spring.class,
+
 })
-@ComponentScan
 public class IsisModuleRuntime {
 
 }
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/RequestScopedService.java b/core/runtime/src/main/java/org/apache/isis/runtime/scoping/RequestScopedService.java
similarity index 98%
rename from core/runtime-services/src/main/java/org/apache/isis/runtime/services/RequestScopedService.java
rename to core/runtime/src/main/java/org/apache/isis/runtime/scoping/RequestScopedService.java
index e14c0a2..07081a5 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/RequestScopedService.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/scoping/RequestScopedService.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.runtime.services;
+package org.apache.isis.runtime.scoping;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.inject.ServiceInjector;
diff --git a/core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java b/core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
index 503c95d..2650cb5 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
@@ -18,10 +18,15 @@
  */
 package org.apache.isis.schema;
 
+import org.apache.isis.commons.IsisModuleCommons;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
 
 @Configuration
+@Import({
+        IsisModuleCommons.class
+})
 public class IsisModuleSchema {
 
 
diff --git a/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java b/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
index 6ba614e..4a56af8 100644
--- a/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
+++ b/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
@@ -20,6 +20,8 @@ package org.apache.isis.security.bypass;
 
 import javax.inject.Singleton;
 
+import org.apache.isis.runtime.services.IsisModuleRuntimeServices;
+import org.apache.isis.security.api.IsisModuleSecurityApi;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -38,8 +40,10 @@ import org.apache.isis.security.api.authorization.standard.Authorizor;
  */
 @Configuration
 @Import({
-    AuthorizationManagerStandard.class,
-    AuthenticationManagerStandard.class
+        // modules
+        IsisModuleSecurityApi.class,
+        IsisModuleRuntimeServices.class
+
 })
 public class IsisModuleSecurityBypass {
 
diff --git a/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java b/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
index da52a6f..db8fff1 100644
--- a/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
+++ b/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
@@ -20,10 +20,13 @@ package org.apache.isis.security.keycloak;
 
 import javax.inject.Singleton;
 
+import org.apache.isis.runtime.services.IsisModuleRuntimeServices;
 import org.apache.isis.runtime.services.auth.AuthorizationManagerStandard;
+import org.apache.isis.security.api.IsisModuleSecurityApi;
 import org.apache.isis.security.keycloak.authentication.KeycloakAuthenticator;
 import org.apache.isis.security.keycloak.authorization.KeycloakAuthorizor;
 import org.apache.isis.security.keycloak.webmodule.WebModuleKeycloak;
+import org.apache.isis.webapp.IsisModuleWebapp;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -39,9 +42,14 @@ import org.apache.isis.security.api.authorization.standard.Authorizor;
  */
 @Configuration
 @Import({
-    AuthorizationManagerStandard.class,
-    AuthenticationManagerStandard.class,
-    WebModuleKeycloak.class
+        // modules
+        IsisModuleSecurityApi.class,
+        IsisModuleRuntimeServices.class,
+        IsisModuleWebapp.class,
+
+        // @Service's
+        WebModuleKeycloak.class,
+
 })
 public class IsisModuleSecurityKeycloak {
 
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
index 8f0e27a..df89888 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
@@ -20,6 +20,10 @@ package org.apache.isis.security.shiro;
 
 import javax.inject.Singleton;
 
+import org.apache.isis.runtime.services.IsisModuleRuntimeServices;
+import org.apache.isis.security.api.IsisModuleSecurityApi;
+import org.apache.isis.security.shiro.webmodule.WebModuleShiro;
+import org.apache.isis.webapp.IsisModuleWebapp;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -38,9 +42,14 @@ import org.apache.isis.security.shiro.authorization.ShiroAuthorizor;
  */
 @Configuration
 @Import({
-    AuthorizationManagerStandard.class,
-    AuthenticationManagerStandard.class,
-    WebModuleShiro.class
+        // modules
+        IsisModuleSecurityApi.class,
+        IsisModuleRuntimeServices.class,
+        IsisModuleWebapp.class,
+
+        // @Service's
+        WebModuleShiro.class,
+
 })
 public class IsisModuleSecurityShiro {
 
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticator.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticator.java
index ea7059e..94a63fe 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticator.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/ShiroAuthenticator.java
@@ -51,7 +51,7 @@ import org.apache.isis.security.api.authentication.AuthenticationSession;
 import org.apache.isis.security.api.authentication.standard.Authenticator;
 import org.apache.isis.security.api.authentication.standard.SimpleSession;
 import org.apache.isis.security.api.authorization.standard.Authorizor;
-import org.apache.isis.security.shiro.ShiroSecurityContext;
+import org.apache.isis.security.shiro.context.ShiroSecurityContext;
 
 import lombok.NoArgsConstructor;
 import lombok.extern.log4j.Log4j2;
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizor.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizor.java
index 4bb3f82..5bcfa91 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizor.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/ShiroAuthorizor.java
@@ -26,7 +26,7 @@ import org.apache.shiro.subject.Subject;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.security.api.authentication.standard.Authenticator;
 import org.apache.isis.security.api.authorization.standard.Authorizor;
-import org.apache.isis.security.shiro.ShiroSecurityContext;
+import org.apache.isis.security.shiro.context.ShiroSecurityContext;
 
 /**
  * If Shiro is configured for both {@link AuthenticationManagerInstaller authentication} and
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroSecurityContext.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/context/ShiroSecurityContext.java
similarity index 97%
rename from core/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroSecurityContext.java
rename to core/security/shiro/src/main/java/org/apache/isis/security/shiro/context/ShiroSecurityContext.java
index 44894c8..1267ebc 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/ShiroSecurityContext.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/context/ShiroSecurityContext.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.security.shiro;
+package org.apache.isis.security.shiro.context;
 
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.UnavailableSecurityManagerException;
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisLdapContextFactory.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/realm/ldap/IsisLdapContextFactory.java
similarity index 97%
rename from core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisLdapContextFactory.java
rename to core/security/shiro/src/main/java/org/apache/isis/security/shiro/realm/ldap/IsisLdapContextFactory.java
index 6aa9502..48f317a 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisLdapContextFactory.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/realm/ldap/IsisLdapContextFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.security.shiro;
+package org.apache.isis.security.shiro.realm.ldap;
 
 import java.util.Hashtable;
 
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisLdapRealm.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/realm/ldap/IsisLdapRealm.java
similarity index 98%
rename from core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisLdapRealm.java
rename to core/security/shiro/src/main/java/org/apache/isis/security/shiro/realm/ldap/IsisLdapRealm.java
index 14e8b8c..431f22d 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisLdapRealm.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/realm/ldap/IsisLdapRealm.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.security.shiro;
+package org.apache.isis.security.shiro.realm.ldap;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -57,14 +57,14 @@ import static org.apache.isis.commons.internal.base._NullSafe.stream;
  * Sample config for <tt>shiro.ini</tt>:
  * <p/>
  * <pre>
- * contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+ * contextFactory = org.apache.isis.security.shiro.realm.ldap.IsisLdapContextFactory
  * contextFactory.url = ldap://localhost:10389
  * contextFactory.authenticationMechanism = CRAM-MD5
  * contextFactory.systemAuthenticationMechanism = simple
  * contextFactory.systemUsername = uid=admin,ou=system
  * contextFactory.systemPassword = secret
  *
- * ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm
+ * ldapRealm = org.apache.isis.security.shiro.realm.ldap.IsisLdapRealm
  * ldapRealm.contextFactory = $contextFactory
  *
  * ldapRealm.searchBase = ou=groups,o=mojo
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/WebModuleShiro.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java
similarity index 99%
rename from core/security/shiro/src/main/java/org/apache/isis/security/shiro/WebModuleShiro.java
rename to core/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java
index 245e66d..1705470 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/WebModuleShiro.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.security.shiro;
+package org.apache.isis.security.shiro.webmodule;
 
 import java.util.Collection;
 import java.util.HashMap;
diff --git a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
index b725360..0cf57d9 100644
--- a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
+++ b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
@@ -1,7 +1,13 @@
 package org.apache.isis.viewer.restfulobjects.jaxrsresteasy4;
 
+import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsViewer;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
 
 @Configuration
+@Import({
+        // modules
+        IsisModuleRestfulObjectsViewer.class
+})
 public class IsisModuleRestfulObjectsJaxrsResteasy4 {
 }
diff --git a/core/viewers/restfulobjects/rendering/pom.xml b/core/viewers/restfulobjects/rendering/pom.xml
index f445667..24ec5f1 100644
--- a/core/viewers/restfulobjects/rendering/pom.xml
+++ b/core/viewers/restfulobjects/rendering/pom.xml
@@ -40,10 +40,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-metamodel</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-runtime</artifactId>
         </dependency>
         <dependency>
diff --git a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java
index 568fd75..ea25623 100644
--- a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java
+++ b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java
@@ -1,7 +1,32 @@
 package org.apache.isis.viewer.restfulobjects.rendering;
 
+import org.apache.isis.runtime.IsisModuleRuntime;
+import org.apache.isis.viewer.restfulobjects.applib.IsisModuleRestfulObjectsApplib;
+import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
+import org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceContentNegotiator;
+import org.apache.isis.viewer.restfulobjects.rendering.service.acceptheader.AcceptHeaderServiceForRest;
+import org.apache.isis.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceForRestfulObjectsV1_0;
+import org.apache.isis.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceOrgApacheIsisV1;
+import org.apache.isis.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceXRoDomainType;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
 
 @Configuration
+@Import({
+        // modules
+        IsisModuleRestfulObjectsApplib.class,
+        IsisModuleRuntime.class,
+
+        // @Service's
+        JsonValueEncoder.class,
+        RepresentationServiceContentNegotiator.class,
+        ContentNegotiationServiceXRoDomainType.class,
+
+        // @DomainService's
+        AcceptHeaderServiceForRest.class,
+        ContentNegotiationServiceForRestfulObjectsV1_0.class,
+        ContentNegotiationServiceOrgApacheIsisV1.class,
+
+})
 public class IsisModuleRestfulObjectsRendering {
 }
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
index 02d8369..fed87ce 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.viewer.restfulobjects.viewer;
 
+import org.apache.isis.viewer.restfulobjects.rendering.IsisModuleRestfulObjectsRendering;
+import org.apache.isis.viewer.restfulobjects.viewer.webmodule.WebModuleRestfulObjects;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -31,9 +33,13 @@ import org.apache.isis.webapp.IsisModuleWebapp;
  */
 @Configuration
 @Import({
-    IsisModuleWebapp.class
+        // modules
+        IsisModuleWebapp.class,
+        IsisModuleRestfulObjectsRendering.class,
+
+        // @DomainService's
+        WebModuleRestfulObjects.class,
 })
-@ComponentScan
 public class IsisModuleRestfulObjectsViewer {
 
 }
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/WebModuleRestfulObjects.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/WebModuleRestfulObjects.java
index 3b62557..4af29b8 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/WebModuleRestfulObjects.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/WebModuleRestfulObjects.java
@@ -49,7 +49,7 @@ import lombok.val;
  */
 @DomainService(
         nature = NatureOfService.DOMAIN, 
-        objectType = "webModules.RestfulObjects") // add to meta-model, for swagger-menu to check whether available or not 
+        objectType = "restfulObjectsViewer.WebModule") // add to meta-model, for swagger-menu to check whether available or not
 @Order(-80)
 public final class WebModuleRestfulObjects implements WebModule  {
 
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/auth/AuthenticationSessionStrategy.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/auth/AuthenticationSessionStrategy.java
index 5c8b5e2..c30bc83 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/auth/AuthenticationSessionStrategy.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/webmodule/auth/AuthenticationSessionStrategy.java
@@ -26,7 +26,7 @@ import org.apache.isis.security.api.authentication.AuthenticationSession;
 import org.apache.isis.security.api.authentication.manager.AuthenticationManager;
 
 /**
- * Decouples the {@link IsisSessionFilter} from the mechanism of obtaining the
+ * Decouples the <code>IsisSessionFilter</code> from the mechanism of obtaining the
  * {@link AuthenticationSession}.
  */
 public interface AuthenticationSessionStrategy {
diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java
index f5fd67d..38aea94 100644
--- a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java
@@ -1,7 +1,13 @@
 package org.apache.isis.viewer.wicket.model;
 
+import org.apache.isis.webapp.IsisModuleWebapp;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
 
 @Configuration
+@Import({
+        // modules
+        IsisModuleWebapp.class,
+})
 public class IsisModuleWicketModel {
 }
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java
index da821a9..7cf134d 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java
@@ -1,7 +1,17 @@
 package org.apache.isis.viewer.wicket.ui;
 
+import org.apache.isis.viewer.wicket.model.IsisModuleWicketModel;
+import org.apache.isis.viewer.wicket.ui.components.widgets.themepicker.IsisWicketThemeSupportDefault;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
 
 @Configuration
+@Import({
+        // modules
+        IsisModuleWicketModel.class,
+
+        // @Service's
+        IsisWicketThemeSupportDefault.class,
+})
 public class IsisModuleWicketUi {
 }
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java
index 4dd431a..58057c0 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java
@@ -19,6 +19,15 @@
 
 package org.apache.isis.viewer.wicket.viewer;
 
+import org.apache.isis.viewer.wicket.ui.IsisModuleWicketUi;
+import org.apache.isis.viewer.wicket.viewer.mixins.Object_clearHints;
+import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault;
+import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassListDefault;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageClassRegistryDefault;
+import org.apache.isis.viewer.wicket.viewer.registries.pages.PageNavigationServiceDefault;
+import org.apache.isis.viewer.wicket.viewer.services.*;
+import org.apache.isis.viewer.wicket.viewer.webmodule.WebModuleWicket;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -32,10 +41,30 @@ import org.apache.isis.webapp.IsisModuleWebapp;
  */
 @Configuration
 @Import({
-    IsisModuleWebapp.class,
-    IsisWicketThemeSupportDefault.class
+        // modules
+        IsisModuleWicketUi.class,
+
+        // @Service's
+        ComponentFactoryRegistrarDefault.class,
+        ComponentFactoryRegistryDefault.class,
+        PageClassListDefault.class,
+        PageClassRegistryDefault.class,
+        PageNavigationServiceDefault.class,
+        DeepLinkServiceWicket.class,
+        ImageResourceCacheClassPath.class,
+        LocaleProviderWicket.class,
+        TranslationsResolverWicket.class,
+        WicketViewerSettingsDefault.class,
+        WebModuleWicket.class,
+
+        // @DomainService's
+        BookmarkUiServiceWicket.class,
+        HintStoreUsingWicketSession.class,
+
+        // @Mixin's
+        Object_clearHints.class,
+
 })
-@ComponentScan
 public class IsisModuleWicketViewer {
 
 }
diff --git a/core/webboot-springboot/src/main/doc/modules/runtime-spring/_attributes.adoc b/core/webapp/src/main/doc/modules/webapp/_attributes.adoc
similarity index 100%
rename from core/webboot-springboot/src/main/doc/modules/runtime-spring/_attributes.adoc
rename to core/webapp/src/main/doc/modules/webapp/_attributes.adoc
diff --git a/core/webapp/src/main/doc/modules/runtime-web/nav.adoc b/core/webapp/src/main/doc/modules/webapp/nav.adoc
similarity index 100%
rename from core/webapp/src/main/doc/modules/runtime-web/nav.adoc
rename to core/webapp/src/main/doc/modules/webapp/nav.adoc
diff --git a/core/webboot-springboot/src/main/doc/modules/runtime-spring/partials/_attributes.adoc b/core/webapp/src/main/doc/modules/webapp/pages/_attributes.adoc
similarity index 100%
rename from core/webboot-springboot/src/main/doc/modules/runtime-spring/partials/_attributes.adoc
rename to core/webapp/src/main/doc/modules/webapp/pages/_attributes.adoc
diff --git a/core/webapp/src/main/doc/modules/runtime-web/pages/about.adoc b/core/webapp/src/main/doc/modules/webapp/pages/about.adoc
similarity index 100%
rename from core/webapp/src/main/doc/modules/runtime-web/pages/about.adoc
rename to core/webapp/src/main/doc/modules/webapp/pages/about.adoc
diff --git a/core/webboot-springboot/src/main/doc/modules/runtime-spring/pages/_attributes.adoc b/core/webapp/src/main/doc/modules/webapp/partials/_attributes.adoc
similarity index 100%
rename from core/webboot-springboot/src/main/doc/modules/runtime-spring/pages/_attributes.adoc
rename to core/webapp/src/main/doc/modules/webapp/partials/_attributes.adoc
diff --git a/core/webapp/src/main/doc/modules/runtime-web/partials/module-nav.adoc b/core/webapp/src/main/doc/modules/webapp/partials/module-nav.adoc
similarity index 100%
rename from core/webapp/src/main/doc/modules/runtime-web/partials/module-nav.adoc
rename to core/webapp/src/main/doc/modules/webapp/partials/module-nav.adoc
diff --git a/core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java b/core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java
index 05f9a09..dd3745d 100644
--- a/core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java
+++ b/core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.webapp;
 
+import org.apache.isis.runtime.IsisModuleRuntime;
 import org.apache.isis.webapp.webappctx.IsisWebAppContextInitializer;
 import org.apache.isis.webapp.webappctx.IsisWebAppContextListener;
 import org.springframework.context.annotation.Configuration;
@@ -28,14 +29,18 @@ import org.apache.isis.webapp.modules.templresources.WebModuleTemplateResources;
 
 @Configuration
 @Import({
-    IsisWebAppContextListener.class,
-    IsisWebAppContextInitializer.class,
-
-    // default modules
-    WebModuleLogOnExceptionLogger.class,
-    
-    // static html template preprocessing
-    WebModuleTemplateResources.class,
+        // modules
+        IsisModuleRuntime.class,
+
+        // @Configuration's
+        IsisWebAppContextInitializer.class,
+
+        // @Service's
+        WebModuleLogOnExceptionLogger.class,
+        WebModuleTemplateResources.class,
+
+        // (not annotated)
+        IsisWebAppContextListener.class,
 
 })
 public class IsisModuleWebapp {
diff --git a/core/webboot-springboot/pom.xml b/core/webboot-springboot/pom.xml
index e5b0fd8..52ebaa7 100644
--- a/core/webboot-springboot/pom.xml
+++ b/core/webboot-springboot/pom.xml
@@ -63,11 +63,6 @@
 
     <dependencies>
 	
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-runtime</artifactId>
-        </dependency>
-        
 		<dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-runtime-services</artifactId>
diff --git a/core/webboot-springboot/src/main/doc/modules/runtime-spring/partials/module-nav.adoc b/core/webboot-springboot/src/main/doc/modules/runtime-spring/partials/module-nav.adoc
deleted file mode 100644
index 58ba6f9..0000000
--- a/core/webboot-springboot/src/main/doc/modules/runtime-spring/partials/module-nav.adoc
+++ /dev/null
@@ -1 +0,0 @@
-* xref:core:runtime-extensions:about.adoc[Runtime Extensions]
diff --git a/core/webapp/src/main/doc/modules/runtime-web/_attributes.adoc b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/_attributes.adoc
similarity index 100%
rename from core/webapp/src/main/doc/modules/runtime-web/_attributes.adoc
rename to core/webboot-springboot/src/main/doc/modules/webboot-springboot/_attributes.adoc
diff --git a/core/webboot-springboot/src/main/doc/modules/runtime-spring/nav.adoc b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/nav.adoc
similarity index 100%
rename from core/webboot-springboot/src/main/doc/modules/runtime-spring/nav.adoc
rename to core/webboot-springboot/src/main/doc/modules/webboot-springboot/nav.adoc
diff --git a/core/webapp/src/main/doc/modules/runtime-web/partials/_attributes.adoc b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/pages/_attributes.adoc
similarity index 100%
rename from core/webapp/src/main/doc/modules/runtime-web/partials/_attributes.adoc
rename to core/webboot-springboot/src/main/doc/modules/webboot-springboot/pages/_attributes.adoc
diff --git a/core/webboot-springboot/src/main/doc/modules/runtime-spring/pages/about.adoc b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/pages/about.adoc
similarity index 100%
rename from core/webboot-springboot/src/main/doc/modules/runtime-spring/pages/about.adoc
rename to core/webboot-springboot/src/main/doc/modules/webboot-springboot/pages/about.adoc
diff --git a/core/webapp/src/main/doc/modules/runtime-web/pages/_attributes.adoc b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/partials/_attributes.adoc
similarity index 100%
rename from core/webapp/src/main/doc/modules/runtime-web/pages/_attributes.adoc
rename to core/webboot-springboot/src/main/doc/modules/webboot-springboot/partials/_attributes.adoc
diff --git a/core/webboot-springboot/src/main/doc/modules/webboot-springboot/partials/module-nav.adoc b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/partials/module-nav.adoc
new file mode 100644
index 0000000..614006d
--- /dev/null
+++ b/core/webboot-springboot/src/main/doc/modules/webboot-springboot/partials/module-nav.adoc
@@ -0,0 +1 @@
+* xref:core:webboot-springboot:about.adoc[SpringBoot]
diff --git a/core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java b/core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java
index d5525b1..c27f0cb 100644
--- a/core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java
+++ b/core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java
@@ -33,8 +33,8 @@ import org.springframework.core.annotation.AnnotationAwareOrderComparator;
 
 @Configuration
 @Import({
-    IsisBeanFactoryPostProcessorForSpring.class,
-    IsisModuleRuntimeServices.class,
+        // modules
+        IsisModuleRuntimeServices.class,
 })
 public class IsisModuleSpringBoot implements ApplicationContextAware {
 
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/AbstractShiroTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/AbstractShiroTest.java
index 16ac96b..ad4a547 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/AbstractShiroTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/AbstractShiroTest.java
@@ -31,7 +31,7 @@ import org.apache.shiro.util.ThreadState;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.internal.assertions._Assert;
-import org.apache.isis.security.shiro.WebModuleShiro.EnvironmentLoaderListenerForIsis;
+import org.apache.isis.security.shiro.webmodule.WebModuleShiro.EnvironmentLoaderListenerForIsis;
 
 import lombok.SneakyThrows;
 import lombok.val;
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
index c62e74a..d90e177 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
@@ -38,7 +38,7 @@ import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleSecmanEncr
 import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
 import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
 import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
-import org.apache.isis.security.shiro.WebModuleShiro;
+import org.apache.isis.security.shiro.webmodule.WebModuleShiro;
 import org.apache.isis.testdomain.Incubating;
 import org.apache.isis.testdomain.Smoketest;
 import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
diff --git a/examples/smoketests/src/test/resources/shiro-ldap.ini b/examples/smoketests/src/test/resources/shiro-ldap.ini
index fef9ace..cb74870 100644
--- a/examples/smoketests/src/test/resources/shiro-ldap.ini
+++ b/examples/smoketests/src/test/resources/shiro-ldap.ini
@@ -19,14 +19,14 @@
 
 [main]
 
-contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+contextFactory = org.apache.isis.security.shiro.realm.ldap.IsisLdapContextFactory
 contextFactory.url = ldap://localhost:10389
 contextFactory.authenticationMechanism = simple
 contextFactory.systemAuthenticationMechanism = simple
 contextFactory.systemUsername = uid=admin,ou=system
 contextFactory.systemPassword = secret
 
-ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm   
+ldapRealm = org.apache.isis.security.shiro.realm.ldap.IsisLdapRealm
 ldapRealm.contextFactory = $contextFactory
 
 ldapRealm.searchBase = ou=groups,o=mojo                    
diff --git a/examples/smoketests/src/test/resources/shiro-secman-ldap-cached.ini b/examples/smoketests/src/test/resources/shiro-secman-ldap-cached.ini
index f6ad033..3fa2ca3 100644
--- a/examples/smoketests/src/test/resources/shiro-secman-ldap-cached.ini
+++ b/examples/smoketests/src/test/resources/shiro-secman-ldap-cached.ini
@@ -19,14 +19,14 @@
 
 [main]
 
-contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+contextFactory = org.apache.isis.security.shiro.realm.ldap.IsisLdapContextFactory
 contextFactory.url = ldap://localhost:10389
 contextFactory.authenticationMechanism = simple
 contextFactory.systemAuthenticationMechanism = simple
 contextFactory.systemUsername = uid=admin,ou=system
 contextFactory.systemPassword = secret
 
-ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm   
+ldapRealm = org.apache.isis.security.shiro.realm.ldap.IsisLdapRealm
 ldapRealm.contextFactory = $contextFactory
 ldapRealm.searchBase = ou=groups,o=mojo                    
 ldapRealm.groupObjectClass = groupOfUniqueNames            
diff --git a/examples/smoketests/src/test/resources/shiro-secman-ldap.ini b/examples/smoketests/src/test/resources/shiro-secman-ldap.ini
index 1429f38..77eaf1c 100644
--- a/examples/smoketests/src/test/resources/shiro-secman-ldap.ini
+++ b/examples/smoketests/src/test/resources/shiro-secman-ldap.ini
@@ -19,14 +19,14 @@
 
 [main]
 
-contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
+contextFactory = org.apache.isis.security.shiro.realm.ldap.IsisLdapContextFactory
 contextFactory.url = ldap://localhost:10389
 contextFactory.authenticationMechanism = simple
 contextFactory.systemAuthenticationMechanism = simple
 contextFactory.systemUsername = uid=admin,ou=system
 contextFactory.systemPassword = secret
 
-ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm   
+ldapRealm = org.apache.isis.security.shiro.realm.ldap.IsisLdapRealm
 ldapRealm.contextFactory = $contextFactory
 ldapRealm.searchBase = ou=groups,o=mojo                    
 ldapRealm.groupObjectClass = groupOfUniqueNames            
diff --git a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java
index eff8264..1eb9fb5 100644
--- a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java
+++ b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java
@@ -29,13 +29,18 @@ import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-    IsisModuleExtSpring.class,
-    FixturesLifecycleService.class,
-    FixtureScripts.class,
-    ExecutionParametersService.class,
-    QueryResultsCacheControlInternal.class,
-    ModuleService.class,
-    ModuleFixtureService.class
+        // modules
+        IsisModuleExtSpring.class,
+
+        // @Service's
+        FixturesLifecycleService.class,
+        ExecutionParametersService.class,
+        ModuleService.class,
+        QueryResultsCacheControlInternal.class,
+
+        // @DomainService's
+        FixtureScripts.class,
+        ModuleFixtureService.class
 })
 public class IsisModuleExtFixtures {
 
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index fb04368..8f28ffd 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -92,11 +92,6 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-codegen-bytebuddy</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
 			<artifactId>isis-viewer-wicket-viewer</artifactId>
 		</dependency>
 


[isis] 03/10: ISIS-2215: fixes compile issues

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit b4444cef3ae118b9af2adb72e6e24496db5c92f7
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 17:18:44 2019 +0000

    ISIS-2215: fixes compile issues
---
 .../test/java/org/apache/isis/testdomain/rest/RestServiceTest.java   | 2 +-
 .../isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java     | 3 ++-
 .../demomodule/fixturescripts/FakeDataDemoObjectWithAll_create3.java | 2 +-
 .../data/FakeDataDemoObjectWithAll_create_withFakeData.java          | 2 +-
 .../data/FakeDataDemoObjectWithAll_update_withFakeData.java          | 2 +-
 .../fakedata/dom/{ => services}/AbstractRandomValueGenerator.java    | 2 +-
 .../isis/extensions/fakedata/dom/{types => services}/Addresses.java  | 5 +----
 .../extensions/fakedata/dom/{types => services}/BigDecimals.java     | 4 +---
 .../extensions/fakedata/dom/{types => services}/BigIntegers.java     | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Books.java      | 5 +----
 .../isis/extensions/fakedata/dom/{types => services}/Booleans.java   | 5 +----
 .../isis/extensions/fakedata/dom/{types => services}/Bytes.java      | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Chars.java      | 4 +---
 .../extensions/fakedata/dom/{types => services}/Collections.java     | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Comms.java      | 5 +----
 .../extensions/fakedata/dom/{types => services}/CreditCards.java     | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Doubles.java    | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Enums.java      | 4 +---
 .../isis/extensions/fakedata/dom/{ => services}/FakeDataService.java | 3 +--
 .../isis/extensions/fakedata/dom/{types => services}/Floats.java     | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Integers.java   | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/IsisBlobs.java  | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/IsisClobs.java  | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/IsisMoneys.java | 4 +---
 .../extensions/fakedata/dom/{types => services}/IsisPasswords.java   | 4 +---
 .../extensions/fakedata/dom/{types => services}/J8DateTimes.java     | 4 +---
 .../extensions/fakedata/dom/{types => services}/J8LocalDates.java    | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/J8Periods.java  | 4 +---
 .../extensions/fakedata/dom/{types => services}/JavaSqlDates.java    | 4 +---
 .../fakedata/dom/{types => services}/JavaSqlTimestamps.java          | 4 +---
 .../extensions/fakedata/dom/{types => services}/JavaUtilDates.java   | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Longs.java      | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Lorem.java      | 5 +----
 .../isis/extensions/fakedata/dom/{types => services}/Names.java      | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Shorts.java     | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Strings.java    | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Urls.java       | 4 +---
 .../isis/extensions/fakedata/dom/{types => services}/Uuids.java      | 5 +----
 .../extensions/fakedata/dom/{ => services}/FakeDataServiceTest.java  | 4 +---
 39 files changed, 40 insertions(+), 110 deletions(-)

diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java
index 4808357..1595fdb 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java
@@ -46,7 +46,7 @@ import lombok.val;
         webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 @Import({
     Configuration_usingJdo.class,
-    IsisBootViewerRestfulObjects.class
+    IsisModuleRestfulObjectsViewer.class
 })
 class RestServiceTest {
 
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
index c6f4de3..c62e74a 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
@@ -20,6 +20,7 @@ package org.apache.isis.testdomain.shiro;
 
 import javax.inject.Inject;
 
+import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsViewer;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
@@ -69,7 +70,7 @@ import lombok.val;
 @Import({
 
     // Restful server
-    IsisBootViewerRestfulObjects.class,
+    IsisModuleRestfulObjectsViewer.class,
     RestEndpointService.class,
 
     // Embedded LDAP server for testing
diff --git a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/FakeDataDemoObjectWithAll_create3.java b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/FakeDataDemoObjectWithAll_create3.java
index 98a8aee..1018539 100644
--- a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/FakeDataDemoObjectWithAll_create3.java
+++ b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/FakeDataDemoObjectWithAll_create3.java
@@ -7,7 +7,7 @@ import com.google.common.collect.Lists;
 import org.apache.isis.applib.annotation.Programmatic;
 
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+import org.apache.isis.extensions.fakedata.dom.services.FakeDataService;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.dom.FakeDataDemoObjectWithAll;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.fixturescripts.data.FakeDataDemoObjectWithAll_create_withFakeData;
 
diff --git a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_create_withFakeData.java b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_create_withFakeData.java
index 581906d..3c49306 100644
--- a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_create_withFakeData.java
+++ b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_create_withFakeData.java
@@ -3,7 +3,7 @@ package org.isisaddons.module.fakedata.fixture.demoapp.demomodule.fixturescripts
 import org.apache.isis.applib.annotation.Programmatic;
 
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+import org.apache.isis.extensions.fakedata.dom.services.FakeDataService;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.dom.FakeDataDemoObjectWithAll;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.dom.FakeDataDemoObjectWithAllMenu;
 
diff --git a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java
index f2874f2..7fbcf6a 100644
--- a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java
+++ b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java
@@ -17,7 +17,7 @@ import org.apache.isis.applib.value.Clob;
 import org.apache.isis.applib.value.Money;
 import org.apache.isis.applib.value.Password;
 
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+import org.apache.isis.extensions.fakedata.dom.services.FakeDataService;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.dom.FakeDataDemoObjectWithAll;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.dom.EnumOf3;
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/AbstractRandomValueGenerator.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/AbstractRandomValueGenerator.java
similarity index 75%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/AbstractRandomValueGenerator.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/AbstractRandomValueGenerator.java
index bbb598b..b24a460 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/AbstractRandomValueGenerator.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/AbstractRandomValueGenerator.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 abstract class AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Addresses.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Addresses.java
similarity index 88%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Addresses.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Addresses.java
index b0631ab..796c8d5 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Addresses.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Addresses.java
@@ -1,7 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
-
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 public class Addresses extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigDecimals.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/BigDecimals.java
similarity index 80%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigDecimals.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/BigDecimals.java
index a685fc7..cd6d4ac 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigDecimals.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/BigDecimals.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.math.BigDecimal;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class BigDecimals extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigIntegers.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/BigIntegers.java
similarity index 66%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigIntegers.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/BigIntegers.java
index 0c740f0..39fed23 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigIntegers.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/BigIntegers.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.math.BigInteger;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class BigIntegers extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Books.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Books.java
similarity index 67%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Books.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Books.java
index f12bd48..9157258 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Books.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Books.java
@@ -1,7 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
-
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 public class Books extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Booleans.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Booleans.java
similarity index 73%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Booleans.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Booleans.java
index 3913c5a..451062c 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Booleans.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Booleans.java
@@ -1,7 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
-
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 public class Booleans extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Bytes.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Bytes.java
similarity index 73%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Bytes.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Bytes.java
index 861965d..dfc1449 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Bytes.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Bytes.java
@@ -1,8 +1,6 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Bytes extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Chars.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Chars.java
similarity index 80%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Chars.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Chars.java
index 4895df5..bf8fe95 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Chars.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Chars.java
@@ -1,8 +1,6 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Chars extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Collections.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Collections.java
similarity index 97%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Collections.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Collections.java
index 07468ed..b279af1 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Collections.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Collections.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.util.Collection;
 import java.util.List;
@@ -6,8 +6,6 @@ import java.util.concurrent.Callable;
 import java.util.function.Predicate;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Collections extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Comms.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Comms.java
similarity index 79%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Comms.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Comms.java
index fb77280..6ff1a85 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Comms.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Comms.java
@@ -1,7 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
-
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 public class Comms extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/CreditCards.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/CreditCards.java
similarity index 78%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/CreditCards.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/CreditCards.java
index ed0a125..cdff8ec 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/CreditCards.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/CreditCards.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import com.github.javafaker.service.FakeValuesService;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class CreditCards extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Doubles.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Doubles.java
similarity index 74%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Doubles.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Doubles.java
index e4e57d1..27b85c2 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Doubles.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Doubles.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Doubles extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Enums.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Enums.java
similarity index 67%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Enums.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Enums.java
index 7321b51..e56ffa2 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Enums.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Enums.java
@@ -1,8 +1,6 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Enums extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/FakeDataService.java
similarity index 98%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/FakeDataService.java
index 4079bdb..161f997 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/FakeDataService.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.util.Locale;
 import java.util.Random;
@@ -12,7 +12,6 @@ import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.extensions.fakedata.dom.types.*;
 
 @DomainService(nature = NatureOfService.DOMAIN)
 public class FakeDataService {
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Floats.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Floats.java
similarity index 64%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Floats.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Floats.java
index ff5890a..1409331 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Floats.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Floats.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Floats extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Integers.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Integers.java
similarity index 75%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Integers.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Integers.java
index e5fd161..4baca00 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Integers.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Integers.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Integers extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisBlobs.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisBlobs.java
similarity index 92%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisBlobs.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisBlobs.java
index e4a9eb0..d76698a 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisBlobs.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisBlobs.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.io.IOException;
 import java.net.URL;
@@ -8,8 +8,6 @@ import java.util.stream.Collectors;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.value.Blob;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisClobs.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisClobs.java
similarity index 93%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisClobs.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisClobs.java
index be52086..a97ab69 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisClobs.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisClobs.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.io.IOException;
 import java.net.URL;
@@ -11,8 +11,6 @@ import com.google.common.io.CharSource;
 import com.google.common.io.Resources;
 
 import org.apache.isis.applib.value.Clob;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class IsisClobs extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisMoneys.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisMoneys.java
similarity index 68%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisMoneys.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisMoneys.java
index c0406ad..b78ffee 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisMoneys.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisMoneys.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.value.Money;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class IsisMoneys extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisPasswords.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisPasswords.java
similarity index 66%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisPasswords.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisPasswords.java
index c20bae1..0ead153 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisPasswords.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/IsisPasswords.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.value.Password;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class IsisPasswords extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8DateTimes.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8DateTimes.java
similarity index 84%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8DateTimes.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8DateTimes.java
index 5658d86..ee14b7d 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8DateTimes.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8DateTimes.java
@@ -1,11 +1,9 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.time.OffsetDateTime;
 import java.time.Period;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class J8DateTimes extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8LocalDates.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8LocalDates.java
similarity index 82%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8LocalDates.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8LocalDates.java
index d44e50a..e13c631 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8LocalDates.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8LocalDates.java
@@ -1,11 +1,9 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.time.LocalDate;
 import java.time.Period;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class J8LocalDates extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8Periods.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8Periods.java
similarity index 84%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8Periods.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8Periods.java
index ea6d980..01b36aa 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8Periods.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/J8Periods.java
@@ -1,10 +1,8 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.time.Period;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class J8Periods extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlDates.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaSqlDates.java
similarity index 76%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlDates.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaSqlDates.java
index 86a032b..45d68d5 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlDates.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaSqlDates.java
@@ -1,11 +1,9 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.sql.Date;
 import java.time.OffsetDateTime;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class JavaSqlDates extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlTimestamps.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaSqlTimestamps.java
similarity index 69%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlTimestamps.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaSqlTimestamps.java
index 12937ed..31e284a 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlTimestamps.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaSqlTimestamps.java
@@ -1,10 +1,8 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.sql.Timestamp;
 import java.util.Date;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class JavaSqlTimestamps extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaUtilDates.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaUtilDates.java
similarity index 72%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaUtilDates.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaUtilDates.java
index bbbe391..5f38063 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaUtilDates.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/JavaUtilDates.java
@@ -1,10 +1,8 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.time.OffsetDateTime;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 import lombok.val;
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Longs.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Longs.java
similarity index 63%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Longs.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Longs.java
index 6524976..a486ba3 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Longs.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Longs.java
@@ -1,9 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Longs extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Lorem.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Lorem.java
similarity index 82%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Lorem.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Lorem.java
index 2e6d7d1..bca205b 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Lorem.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Lorem.java
@@ -1,10 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.util.List;
 
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
-
 public class Lorem extends AbstractRandomValueGenerator {
 
     com.github.javafaker.Lorem javaFakerLorem;
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Names.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Names.java
similarity index 80%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Names.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Names.java
index ffb2575..1501301 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Names.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Names.java
@@ -1,8 +1,6 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Names extends AbstractRandomValueGenerator {
     com.github.javafaker.Name javaFakerName;
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Shorts.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Shorts.java
similarity index 74%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Shorts.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Shorts.java
index 2bf2627..6492214 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Shorts.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Shorts.java
@@ -1,8 +1,6 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Shorts extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Strings.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Strings.java
similarity index 81%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Strings.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Strings.java
index f0daa2c..33cdfab 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Strings.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Strings.java
@@ -1,8 +1,6 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Strings extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Urls.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Urls.java
similarity index 77%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Urls.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Urls.java
index 8fc70df..2a6267d 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Urls.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Urls.java
@@ -1,10 +1,8 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.net.MalformedURLException;
 import java.net.URL;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Urls extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Uuids.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Uuids.java
similarity index 55%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Uuids.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Uuids.java
index a578311..78f5a21 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Uuids.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/Uuids.java
@@ -1,10 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom.types;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.util.UUID;
 
-import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
-import org.apache.isis.extensions.fakedata.dom.FakeDataService;
-
 public class Uuids extends AbstractRandomValueGenerator {
 
     public Uuids(final FakeDataService fakeDataService) {
diff --git a/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java b/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/services/FakeDataServiceTest.java
similarity index 98%
rename from extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java
rename to extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/services/FakeDataServiceTest.java
index 46d32af..28ffe88 100644
--- a/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java
+++ b/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/services/FakeDataServiceTest.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.services;
 
 import java.net.URL;
 import java.sql.Timestamp;
@@ -14,8 +14,6 @@ import java.util.UUID;
 import java.util.function.Predicate;
 
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.extensions.fakedata.dom.types.IsisBlobs;
-import org.apache.isis.extensions.fakedata.dom.types.IsisClobs;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;


[isis] 04/10: ISIS-2215: moves fakedata.dom blobs and clob resources

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit d7a2cb13580c5b8ed08ed755503dd0e936bbf1b1
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 17:28:16 2019 +0000

    ISIS-2215: moves fakedata.dom blobs and clob resources
---
 .../{ => services}/blobs/Pawson-Naked-Objects-thesis.pdf    | Bin
 .../fakedata/dom/{ => services}/blobs/image01-150x150.jpg   | Bin
 .../fakedata/dom/{ => services}/blobs/image01-2048x1536.jpg | Bin
 .../fakedata/dom/{ => services}/blobs/image01-240x180.jpg   | Bin
 .../fakedata/dom/{ => services}/blobs/image01-4000x3000.jpg | Bin
 .../fakedata/dom/{ => services}/blobs/image01-640x480.jpg   | Bin
 .../fakedata/dom/{ => services}/blobs/image02-150x150.jpg   | Bin
 .../fakedata/dom/{ => services}/blobs/image02-2048x1536.jpg | Bin
 .../fakedata/dom/{ => services}/blobs/image02-240x180.jpg   | Bin
 .../fakedata/dom/{ => services}/blobs/image02-4000x3000.jpg | Bin
 .../fakedata/dom/{ => services}/blobs/image02-640x480.jpg   | Bin
 .../dom/{ => services}/blobs/rick-mugridge-paper.pdf        | Bin
 .../fakedata/dom/{ => services}/clobs/RTF-Spec-1.7.rtf      |   0
 .../fakedata/dom/{ => services}/clobs/a_and_c.xml           |   0
 .../fakedata/dom/{ => services}/clobs/all_well.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/as_you.xml |   0
 .../fakedata/dom/{ => services}/clobs/com_err.xml           |   0
 .../extensions/fakedata/dom/{ => services}/clobs/config.rtf |   0
 .../fakedata/dom/{ => services}/clobs/coriolan.xml          |   0
 .../fakedata/dom/{ => services}/clobs/cymbelin.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/dream.xml  |   0
 .../extensions/fakedata/dom/{ => services}/clobs/dsssl.dtd  |   0
 .../extensions/fakedata/dom/{ => services}/clobs/fot.dtd    |   0
 .../extensions/fakedata/dom/{ => services}/clobs/hamlet.xml |   0
 .../fakedata/dom/{ => services}/clobs/hen_iv_1.xml          |   0
 .../fakedata/dom/{ => services}/clobs/hen_iv_2.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/hen_v.xml  |   0
 .../fakedata/dom/{ => services}/clobs/hen_vi_1.xml          |   0
 .../fakedata/dom/{ => services}/clobs/hen_vi_2.xml          |   0
 .../fakedata/dom/{ => services}/clobs/hen_vi_3.xml          |   0
 .../fakedata/dom/{ => services}/clobs/hen_viii.xml          |   0
 .../fakedata/dom/{ => services}/clobs/j_caesar.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/john.xml   |   0
 .../extensions/fakedata/dom/{ => services}/clobs/lear.xml   |   0
 .../extensions/fakedata/dom/{ => services}/clobs/lll.xml    |   0
 .../fakedata/dom/{ => services}/clobs/m_for_m.xml           |   0
 .../fakedata/dom/{ => services}/clobs/m_wives.xml           |   0
 .../fakedata/dom/{ => services}/clobs/macbeth.xml           |   0
 .../fakedata/dom/{ => services}/clobs/merchant.xml          |   0
 .../fakedata/dom/{ => services}/clobs/much_ado.xml          |   0
 .../fakedata/dom/{ => services}/clobs/othello.xml           |   0
 .../fakedata/dom/{ => services}/clobs/pericles.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/play.dtd   |   0
 .../fakedata/dom/{ => services}/clobs/r_and_j.xml           |   0
 .../fakedata/dom/{ => services}/clobs/rich_ii.xml           |   0
 .../fakedata/dom/{ => services}/clobs/rich_iii.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/sample.rtf |   0
 .../fakedata/dom/{ => services}/clobs/shaksper.htm          |   0
 .../fakedata/dom/{ => services}/clobs/style-sheet.dtd       |   0
 .../fakedata/dom/{ => services}/clobs/t_night.xml           |   0
 .../extensions/fakedata/dom/{ => services}/clobs/taming.xml |   0
 .../fakedata/dom/{ => services}/clobs/tempest.xml           |   0
 .../fakedata/dom/{ => services}/clobs/testrtf.rtf           |   0
 .../extensions/fakedata/dom/{ => services}/clobs/timon.xml  |   0
 .../extensions/fakedata/dom/{ => services}/clobs/titus.xml  |   0
 .../fakedata/dom/{ => services}/clobs/troilus.xml           |   0
 .../fakedata/dom/{ => services}/clobs/two_gent.xml          |   0
 .../isis/extensions/fakedata/dom/{ => services}/clobs/vs    |   0
 .../isis/extensions/fakedata/dom/{ => services}/clobs/vx    |   0
 .../fakedata/dom/{ => services}/clobs/win_tale.xml          |   0
 .../extensions/fakedata/dom/{ => services}/clobs/xml.dcl    |   0
 .../extensions/fakedata/dom/{ => services}/clobs/xml.soc    |   0
 62 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/Pawson-Naked-Objects-thesis.pdf b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/Pawson-Naked-Objects-thesis.pdf
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/Pawson-Naked-Objects-thesis.pdf
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/Pawson-Naked-Objects-thesis.pdf
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-150x150.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-150x150.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-150x150.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-150x150.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-2048x1536.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-2048x1536.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-2048x1536.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-2048x1536.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-240x180.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-240x180.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-240x180.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-240x180.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-4000x3000.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-4000x3000.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-4000x3000.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-4000x3000.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-640x480.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-640x480.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image01-640x480.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image01-640x480.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-150x150.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-150x150.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-150x150.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-150x150.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-2048x1536.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-2048x1536.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-2048x1536.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-2048x1536.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-240x180.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-240x180.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-240x180.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-240x180.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-4000x3000.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-4000x3000.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-4000x3000.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-4000x3000.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-640x480.jpg b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-640x480.jpg
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/image02-640x480.jpg
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/image02-640x480.jpg
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/rick-mugridge-paper.pdf b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/rick-mugridge-paper.pdf
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/blobs/rick-mugridge-paper.pdf
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/blobs/rick-mugridge-paper.pdf
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/RTF-Spec-1.7.rtf b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/RTF-Spec-1.7.rtf
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/RTF-Spec-1.7.rtf
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/RTF-Spec-1.7.rtf
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/a_and_c.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/a_and_c.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/a_and_c.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/a_and_c.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/all_well.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/all_well.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/all_well.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/all_well.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/as_you.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/as_you.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/as_you.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/as_you.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/com_err.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/com_err.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/com_err.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/com_err.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/config.rtf b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/config.rtf
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/config.rtf
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/config.rtf
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/coriolan.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/coriolan.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/coriolan.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/coriolan.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/cymbelin.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/cymbelin.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/cymbelin.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/cymbelin.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/dream.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/dream.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/dream.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/dream.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/dsssl.dtd b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/dsssl.dtd
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/dsssl.dtd
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/dsssl.dtd
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/fot.dtd b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/fot.dtd
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/fot.dtd
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/fot.dtd
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hamlet.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hamlet.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hamlet.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hamlet.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_iv_1.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_iv_1.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_iv_1.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_iv_1.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_iv_2.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_iv_2.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_iv_2.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_iv_2.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_v.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_v.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_v.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_v.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_vi_1.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_vi_1.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_vi_1.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_vi_1.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_vi_2.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_vi_2.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_vi_2.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_vi_2.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_vi_3.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_vi_3.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_vi_3.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_vi_3.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_viii.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_viii.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/hen_viii.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/hen_viii.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/j_caesar.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/j_caesar.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/j_caesar.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/j_caesar.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/john.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/john.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/john.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/john.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/lear.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/lear.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/lear.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/lear.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/lll.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/lll.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/lll.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/lll.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/m_for_m.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/m_for_m.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/m_for_m.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/m_for_m.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/m_wives.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/m_wives.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/m_wives.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/m_wives.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/macbeth.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/macbeth.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/macbeth.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/macbeth.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/merchant.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/merchant.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/merchant.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/merchant.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/much_ado.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/much_ado.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/much_ado.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/much_ado.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/othello.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/othello.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/othello.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/othello.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/pericles.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/pericles.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/pericles.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/pericles.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/play.dtd b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/play.dtd
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/play.dtd
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/play.dtd
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/r_and_j.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/r_and_j.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/r_and_j.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/r_and_j.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/rich_ii.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/rich_ii.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/rich_ii.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/rich_ii.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/rich_iii.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/rich_iii.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/rich_iii.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/rich_iii.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/sample.rtf b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/sample.rtf
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/sample.rtf
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/sample.rtf
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/shaksper.htm b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/shaksper.htm
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/shaksper.htm
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/shaksper.htm
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/style-sheet.dtd b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/style-sheet.dtd
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/style-sheet.dtd
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/style-sheet.dtd
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/t_night.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/t_night.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/t_night.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/t_night.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/taming.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/taming.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/taming.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/taming.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/tempest.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/tempest.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/tempest.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/tempest.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/testrtf.rtf b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/testrtf.rtf
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/testrtf.rtf
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/testrtf.rtf
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/timon.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/timon.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/timon.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/timon.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/titus.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/titus.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/titus.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/titus.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/troilus.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/troilus.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/troilus.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/troilus.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/two_gent.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/two_gent.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/two_gent.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/two_gent.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/vs b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/vs
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/vs
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/vs
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/vx b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/vx
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/vx
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/vx
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/win_tale.xml b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/win_tale.xml
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/win_tale.xml
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/win_tale.xml
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/xml.dcl b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/xml.dcl
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/xml.dcl
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/xml.dcl
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/xml.soc b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/xml.soc
similarity index 100%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/clobs/xml.soc
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/services/clobs/xml.soc


[isis] 02/10: ISIS-2215: adds missing modules, move some classes around

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2215
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 2737d96bceadd0ba1a7cfd48e2804d718c6d0c5e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Dec 5 16:00:48 2019 +0000

    ISIS-2215: adds missing modules, move some classes around
    
    and started to enumerate @Components for some (applib, metamodel) ... ie to remove @ComponentScan
---
 .../isis-configurations-and-modules.pptx           | Bin 49411 -> 50050 bytes
 .../org/apache/isis/applib/IsisApplibModule.java   |  58 ----------
 .../org/apache/isis/applib/IsisModuleApplib.java   | 121 +++++++++++++++++++++
 .../isis/applib/domain/DomainObjectList.java       |  16 +--
 .../isis/applib/mixins/dto/Dto_downloadXml.java    |   2 +-
 .../isis/applib/mixins/dto/Dto_downloadXsd.java    |   2 +-
 .../mixins/layout/Object_downloadLayoutXml.java    |   2 +-
 .../applib/mixins/layout/Object_openRestApi.java   |   2 +-
 .../mixins/layout/Object_rebuildMetamodel.java     |   2 +-
 .../metamodel/Object_downloadMetaModelXml.java     |   2 +-
 .../mixins/metamodel/Object_objectIdentifier.java  |   2 +-
 .../applib/mixins/metamodel/Object_objectType.java |   2 +-
 .../applib/services/actinvoc/package-info.java     |  31 ------
 .../services/audit/AuditerServiceLogging.java      |   3 +-
 .../services/bookmark/BookmarkHolder_lookup.java   |   4 +-
 .../services/bookmark/BookmarkHolder_object.java   |   4 +-
 .../services/confview/ConfigurationMenu.java       |   4 +-
 .../applib/services/layout/LayoutServiceMenu.java  |   4 +-
 .../services/metamodel/MetaModelServicesMenu.java  |   4 +-
 .../services/swagger/SwaggerServiceMenu.java       |   4 +-
 .../bytebuddy/IsisModuleCodegenByteBuddy.java      |   7 ++
 .../ClassLoadingStrategyAdvisor.java               |   2 +-
 .../ProxyFactoryPluginUsingByteBuddy.java          |   4 +-
 ...ons.internal.plugins.codegen.ProxyFactoryPlugin |   2 +-
 .../org/apache/isis/commons/IsisModuleCommons.java |  13 +++
 .../commons/handler/ChainOfResponsibility.java     |   9 +-
 ...IsisConfigModule.java => IsisModuleConfig.java} |  14 ++-
 .../isis/config/presets/DebugDiscovery.properties  |   2 +-
 .../facets/object/mixin/MixinIntendedAs.java       |   4 +-
 .../object/mixin/MixinIntendedAsActionTest.java    |  10 --
 core/metamodel/pom.xml                             |   2 +-
 .../apache/isis/metamodel/IsisModuleMetamodel.java | 101 +++++++++++++++++
 .../metamodel/{ => context}/MetaModelContext.java  |   2 +-
 .../{ => context}/MetaModelContextAware.java       |   2 +-
 .../{ => context}/MetaModelContext_usingIoc.java   |   2 +-
 .../metamodel/{ => context}/MetaModelContexts.java |   2 +-
 .../isis/metamodel/facetapi/FacetAbstract.java     |   2 +-
 .../isis/metamodel/facetapi/FacetHolder.java       |   2 +-
 .../isis/metamodel/facetapi/FacetHolderImpl.java   |   4 +-
 .../metamodel/facets/FacetFactoryAbstract.java     |   4 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |   2 +-
 .../DomainObjectAnnotationFacetFactory.java        |   2 +-
 .../DomainServiceFacetAnnotationFactory.java       |   2 +-
 .../parameter/ParameterAnnotationFacetFactory.java |   2 +-
 .../property/PropertyAnnotationFacetFactory.java   |   2 +-
 .../metamodel/objectmanager/ObjectManager.java     |   2 +-
 .../objectmanager/ObjectManagerDefault.java        |   2 +-
 .../objectmanager/create/ObjectCreator.java        |   4 +-
 .../create/ObjectCreator_builtinHandlers.java      |   2 +-
 .../metamodel/objectmanager/load/ObjectLoader.java |   4 +-
 .../load/ObjectLoader_builtinHandlers.java         |   2 +-
 .../refresh/ObjectRefresher_builtinHandlers.java   |   2 +-
 .../param/DeriveFacetsPostProcessor.java           |   4 +-
 .../progmodel/ProgrammingModelAbstract.java        |   8 +-
 .../services/appfeat/ApplicationFeature.java       |   8 +-
 .../ApplicationFeatureRepositoryDefault.java       |   3 +-
 .../apache/isis/metamodel/spec/ManagedObject.java  |   2 +-
 .../isis/metamodel/spec/feature/ObjectAction.java  |   3 +-
 .../specloader/ProgrammingModelServiceDefault.java |   2 +-
 .../specloader/SpecificationLoaderDefault.java     |   2 +-
 .../specloader/facetprocessor/FacetProcessor.java  |   2 +-
 .../specimpl/ObjectActionParameterAbstract.java    |   3 +-
 .../specloader/specimpl/ObjectMemberAbstract.java  |   2 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |   2 +-
 .../validator/MetaModelValidatorAbstract.java      |   4 +-
 .../metamodel/MetaModelContext_configTest.java     |   1 +
 .../metamodel/MetaModelContext_forTesting.java     |   1 +
 .../isis/metamodel/ServiceInjector_forTesting.java |   1 +
 .../isis/metamodel/ServiceRegistry_forTesting.java |   3 +-
 .../facets/AbstractFacetFactoryJUnit4TestCase.java |   4 +-
 .../metamodel/facets/AbstractFacetFactoryTest.java |   2 +-
 .../ViewModelSemanticCheckingFacetFactoryTest.java |   4 +-
 .../ident/title/TitleFacetViaMethodTest.java       |   2 +-
 .../TitleFacetViaTitleAnnotationTest.java          |   2 +-
 .../parseable/ParseableFacetUsingParserTest.java   |   2 +-
 .../BigDecimalValueSemanticsProviderTest.java      |   2 +-
 .../value/BigIntValueSemanticsProviderTest.java    |   2 +-
 .../value/ByteValueSemanticsProviderTest.java      |   2 +-
 .../value/DoubleValueSemanticsProviderTest.java    |   2 +-
 .../value/FloatValueSemanticsProviderTest.java     |   2 +-
 .../value/IntValueSemanticsProviderTest.java       |   2 +-
 .../JavaSqlDateValueSemanticsProviderTest.java     |   2 +-
 .../JavaSqlTimeValueSemanticsProviderTest.java     |   2 +-
 .../JavaUtilDateValueSemanticsProviderTest.java    |   2 +-
 .../value/LongValueSemanticsProviderTest.java      |   2 +-
 .../value/MoneyValueSemanticsProviderTest.java     |   2 +-
 .../PercentageValueSemanticsProviderTest.java      |   2 +-
 .../value/ShortValueSemanticsProviderTest.java     |   2 +-
 .../ValueSemanticsProviderAbstractTestCase.java    |   2 +-
 .../ServiceInjectorDefaultTest_usingFields.java    |   4 +-
 ...InjectorDefaultTest_validateServices_happy.java |   4 +-
 .../services/ServiceInjectorLegacyTest.java        |   4 +-
 .../SpecificationLoaderTestAbstract.java           |   2 +-
 .../jdo/applib/services/IsisModuleJdoApplib.java}  |   7 +-
 ...Nucleus.java => IsisModuleJdoDataNucleus5.java} |  10 +-
 .../service/JdoPersistenceLifecycleService.java    |   2 +-
 .../mixins/Persistable_datanucleusIdLong.java      |   2 +-
 .../mixins/Persistable_datanucleusVersionLong.java |   2 +-
 .../Persistable_datanucleusVersionTimestamp.java   |   2 +-
 .../mixins/Persistable_downloadJdoMetadata.java    |   2 +-
 .../objectadapter/ObjectAdapterContext.java        |   2 +-
 .../persistence/IsisPersistenceSessionJdoBase.java |   3 +-
 .../persistence/PersistenceSession5.java           |   9 +-
 .../persistence/PersistenceSessionFactory5.java    |   2 +-
 ...AnnotationFacetFactoryTest_refineMetaModel.java |   3 +-
 .../WrapperFactoryDefaultTest_wrappedObject.java   |   2 +-
 ...FactoryDefaultTest_wrappedObject_transient.java |   2 +-
 .../runtime/system/ObjectMemberAbstractTest.java   |   2 +-
 core/pom.xml                                       |   2 +-
 .../services/IsisModuleRuntimeServices.java        |   8 +-
 .../services/IsisRuntimeServicesModule.java        |  35 ------
 .../services/i18n/po/TranslationServicePoMenu.java |   4 +-
 .../menubars/bootstrap3/MenuBarsServiceBS3.java    |   2 +-
 .../services/wrapper/WrapperFactoryDefault.java    |   2 +-
 .../handlers/DomainObjectInvocationHandler.java    |   2 +-
 .../wrapper/handlers/ProxyContextHandler.java      |   2 +-
 ...isRuntimeModule.java => IsisModuleRuntime.java} |   6 +-
 .../system/context/session/RuntimeContext.java     |   2 +-
 .../system/context/session/RuntimeContextBase.java |   2 +-
 .../persistence/PersistenceSessionFactory.java     |   2 +-
 .../isis/runtime/system/session/IsisSession.java   |   2 +-
 .../system/session/IsisSessionFactoryDefault.java  |   2 +-
 .../system/ObjectActionLayoutXmlDefaultTest.java   |   2 +-
 ...IsisSchemaModule.java => IsisModuleSchema.java} |   2 +-
 core/security/api/pom.xml                          |   2 +-
 .../isis/security/api/IsisModuleSecurityApi.java   |  10 +-
 core/security/bypass/pom.xml                       |   2 +-
 ...tyBypass.java => IsisModuleSecurityBypass.java} |   2 +-
 core/security/keycloak/pom.xml                     |   2 +-
 ...ycloak.java => IsisModuleSecurityKeycloak.java} |   2 +-
 core/security/shiro/pom.xml                        |   2 +-
 ...rityShiro.java => IsisModuleSecurityShiro.java} |   2 +-
 core/testsupport/integtestsupport/pom.xml          |   2 +-
 .../applib/IsisModuleRestfulObjectsApplib.java     |   7 ++
 .../IsisModuleRestfulObjectsJaxrsResteasy4.java    |   7 ++
 .../restfulobjects/rendering/IResourceContext.java |   2 +-
 .../IsisModuleRestfulObjectsRendering.java         |   7 ++
 ...ts.java => IsisModuleRestfulObjectsViewer.java} |   6 +-
 .../viewer/context/ResourceContext.java            |   2 +-
 .../viewer/resources/ResourceAbstract.java         |   2 +-
 ..._ensureCompatibleAcceptHeader_ContractTest.java |   3 +-
 .../context/ResourceContext_getArg_Test.java       |   3 +-
 .../viewer/wicket/model/IsisModuleWicketModel.java |   7 ++
 .../wicket/model/models/EntityModel_hintsTest.java |   2 +-
 .../ScalarModel_isScalarSubtypingAnyOf_Test.java   |   2 +-
 .../isis/viewer/wicket/ui/IsisModuleWicketUi.java  |   7 ++
 .../isis/viewer/wicket/ui/panels/PanelBase.java    |   2 +-
 .../ui/ComponentFactoryAbstractTest_init.java      |   2 +-
 ...ollectionContentsSelectorDropdownPanelTest.java |   2 +-
 ...ewerWicket.java => IsisModuleWicketViewer.java} |   6 +-
 .../ComponentFactoryRegistryDefault.java           |   2 +-
 .../viewer/wicketapp/IsisWicketApplication.java    |   2 +-
 .../{IsisBootWebApp.java => IsisModuleWebapp.java} |   2 +-
 .../webapp/context/IsisWebAppCommonContext.java    |   2 +-
 .../springboot/IsisModuleSpringBoot.java}          |  13 +--
 .../java/demoapp/application/DemoAppManifest.java  |  40 +++----
 .../demo/src/main/java/demoapp/utils/DemoStub.java |   2 +-
 .../demoapp/utils/LibraryPreloadingService.java    |   2 +-
 .../testdomain/conf/Configuration_headless.java    |  12 +-
 .../testdomain/conf/Configuration_usingJdo.java    |  16 +--
 .../conf/Configuration_usingJdoAndShiro.java       |  16 +--
 .../model/bad/InvalidOrphanedActionSupport.java    |   2 +-
 .../bad/InvalidOrphanedCollectionSupport.java      |   2 +-
 .../model/bad/InvalidOrphanedPropertySupport.java  |   2 +-
 .../testdomain/model/good/ProperActionSupport.java |   2 +-
 .../model/good/ProperActionSupport_action.java     |   2 +-
 .../model/good/ProperActionSupport_collection.java |   2 +-
 .../good/ProperActionSupport_collection2.java      |   2 +-
 .../model/good/ProperActionSupport_mixin.java      |   2 +-
 .../model/good/ProperActionSupport_property.java   |   2 +-
 .../model/good/ProperActionSupport_property2.java  |   2 +-
 .../model/good/ProperCollectionSupport.java        |   2 +-
 .../model/good/ProperPrefixedMember.java           |   2 +-
 .../model/good/ProperPropertySupport.java          |   2 +-
 .../bootstrapping/AutoConfigurationTest.java       |   2 +-
 .../isis/testdomain/config/IsisConfigBeanTest.java |   4 +-
 .../isis/testdomain/rest/RestServiceTest.java      |   2 +-
 .../isis/testdomain/shiro/ShiroSecmanLdapTest.java |  16 +--
 .../shiro/ShiroSecmanLdap_restfulStressTest.java   |  17 ++-
 .../isis/testdomain/shiro/ShiroSecmanTest.java     |  16 +--
 ...tSpringModule.java => IsisModuleExtSpring.java} |   2 +-
 .../extensions/base/dom/IsisModuleExtBase.java     |   7 ++
 .../{ExcelModule.java => IsisModuleExtExcel.java}  |   2 +-
 ...ule.java => IsisModuleExtFakeDataFixtures.java} |   6 +-
 .../extensions/fakedata/dom/FakeDataService.java   |   1 +
 .../IsisModuleExtFakeData.java}                    |   4 +-
 .../apache/isis/extensions/fakedata/dom/Uuids.java |  14 ---
 .../fakedata/dom/{ => types}/Addresses.java        |   5 +-
 .../fakedata/dom/{ => types}/BigDecimals.java      |   6 +-
 .../fakedata/dom/{ => types}/BigIntegers.java      |   6 +-
 .../extensions/fakedata/dom/{ => types}/Books.java |   5 +-
 .../fakedata/dom/{ => types}/Booleans.java         |   5 +-
 .../extensions/fakedata/dom/{ => types}/Bytes.java |   6 +-
 .../extensions/fakedata/dom/{ => types}/Chars.java |   6 +-
 .../fakedata/dom/{ => types}/Collections.java      |   6 +-
 .../extensions/fakedata/dom/{ => types}/Comms.java |   5 +-
 .../fakedata/dom/{ => types}/CreditCards.java      |   4 +-
 .../fakedata/dom/{ => types}/Doubles.java          |   6 +-
 .../extensions/fakedata/dom/{ => types}/Enums.java |   6 +-
 .../fakedata/dom/{ => types}/Floats.java           |   6 +-
 .../fakedata/dom/{ => types}/Integers.java         |   6 +-
 .../fakedata/dom/{ => types}/IsisBlobs.java        |   6 +-
 .../fakedata/dom/{ => types}/IsisClobs.java        |   6 +-
 .../fakedata/dom/{ => types}/IsisMoneys.java       |   6 +-
 .../fakedata/dom/{ => types}/IsisPasswords.java    |   6 +-
 .../fakedata/dom/{ => types}/J8DateTimes.java      |   6 +-
 .../fakedata/dom/{ => types}/J8LocalDates.java     |   6 +-
 .../fakedata/dom/{ => types}/J8Periods.java        |   6 +-
 .../fakedata/dom/{ => types}/JavaSqlDates.java     |   6 +-
 .../dom/{ => types}/JavaSqlTimestamps.java         |   6 +-
 .../fakedata/dom/{ => types}/JavaUtilDates.java    |   6 +-
 .../extensions/fakedata/dom/{ => types}/Longs.java |   6 +-
 .../extensions/fakedata/dom/{ => types}/Lorem.java |   5 +-
 .../extensions/fakedata/dom/{ => types}/Names.java |   4 +-
 .../fakedata/dom/{ => types}/Shorts.java           |   6 +-
 .../fakedata/dom/{ => types}/Strings.java          |   6 +-
 .../extensions/fakedata/dom/{ => types}/Urls.java  |   6 +-
 .../isis/extensions/fakedata/dom/types/Uuids.java  |  17 +++
 .../fakedata/dom/FakeDataServiceTest.java          |   2 +
 .../dom/IsisModuleExtUnitTestSupport.java          |   7 ++
 ...soleModule.java => IsisModuleExtH2Console.java} |   6 +-
 .../h2console/dom/services/H2ManagerMenu.java      |   4 +-
 ...bMgrModule.java => IsisModuleExtHsqldbMgr.java} |   6 +-
 .../hsqldbmgr/dom/services/HsqlDbManagerMenu.java  |   4 +-
 ...rityModule.java => IsisModuleExtSecmanApi.java} |   5 +-
 .../permission/ApplicationPermissionValueSet.java  |   8 +-
 .../secman/api/tenancy/ApplicationTenancy.java     |   8 +-
 ...java => IsisModuleSecmanEncryptionJbcrypt.java} |   3 +-
 .../PasswordEncryptionServiceUsingJBcrypt.java     |   2 +-
 ...SecmanModel.java => IsisModuleSecmanModel.java} |   4 +-
 .../app/feature/ApplicationFeatureViewModel.java   |   8 +-
 .../app/feature/ApplicationFeatureViewModels.java  |   8 +-
 .../app/feature/ApplicationPermission_feature.java |   4 +-
 .../user/ApplicationUser_filterPermissions.java    |   4 +-
 .../app/user/ApplicationUser_permissions.java      |   4 +-
 .../secman/model/app/user/MeService.java           |   8 +-
 .../model/app/user/UserPermissionViewModel.java    |   8 +-
 .../dom/permission/ApplicationPermissionMenu.java  |   8 +-
 .../secman/model/dom/role/ApplicationRoleMenu.java |   8 +-
 .../model/dom/tenancy/ApplicationTenancyMenu.java  |   8 +-
 .../secman/model/dom/user/ApplicationUserMenu.java |   8 +-
 .../secman/model/dom/user/HasUsername_open.java    |   4 +-
 ...do.java => IsisModuleSecmanPersistenceJdo.java} |   4 +-
 .../jdo/dom/permission/ApplicationPermission.java  |   8 +-
 .../secman/jdo/dom/role/ApplicationRole.java       |   8 +-
 .../secman/jdo/dom/user/ApplicationUser.java       |   8 +-
 extensions/security/secman/pom.xml                 |   2 +-
 .../secman/shiro/AuthInfoForApplicationUser.java   |   1 +
 ...mShiro.java => IsisModuleSecmanRealmShiro.java} |   3 +-
 .../secman/shiro/IsisModuleSecurityRealm.java      |   1 +
 .../SecurityRealmServiceUsingShiro.java            |   3 +-
 .../secman/shiro/{ => util}/ShiroUtils.java        |  11 +-
 ...turesModule.java => IsisModuleExtFixtures.java} |   6 +-
 .../specsupport/IsisModuleExtSpecSupport.java      |   4 +
 .../integration}/ObjectFactoryForIntegration.java  |   2 +-
 .../isis/{ => extensions}/specsupport/specs/V.java |   4 +-
 .../restclient/IsisModuleExtRestClient.java        |   7 ++
 .../applib/IsisModuleExtAsciidocApplib.java        |   7 +-
 .../asciidoc/{ => applib/value}/AsciiDoc.java      |   3 +-
 .../asciidoc/ui/IsisModuleExtAsciidocUi.java}      |   8 +-
 .../{ => ui/components}/AsciiDocComponent.java     |   2 +-
 .../AsciiDocPanelFactoriesForWicket.java           |   3 +-
 .../asciidoc/ui/components}/css/prism.css          |   0
 .../asciidoc/ui/components}/js/prism1.14.js        |   0
 .../{ => ui/converter}/AsciiDocConverter.java      |   4 +-
 ...g.apache.isis.viewer.wicket.ui.ComponentFactory |   4 +-
 ...Module.java => IsisModuleExtExcelDownload.java} |   6 +-
 .../{ => components}/CollectionContentsAsExcel.css |   0
 .../CollectionContentsAsExcel.html                 |   0
 .../CollectionContentsAsExcel.java                 |   2 +-
 .../CollectionContentsAsExcelFactory.java          |   2 +-
 .../{ => components}/ExcelFileDownloadLink.java    |   2 +-
 .../excel/{ => components}/ExcelFileModel.java     |   2 +-
 .../{ => components}/Util_TimeConversion.java      |   2 +-
 ...g.apache.isis.viewer.wicket.ui.ComponentFactory |   2 +-
 .../applib/IsisModuleExtMarkdownApplib.java        |   7 ++
 .../markdown/{ => applib/value}/Markdown.java      |   3 +-
 .../markdown/ui/IsisModuleExtMarkdownUi.java       |  10 ++
 .../{ => ui/components}/MarkdownComponent.java     |   2 +-
 .../MarkdownPanelFactoriesForWicket.java           |   3 +-
 .../markdown/ui/components}/css/prism.css          |   0
 .../markdown/ui/components}/js/prism1.14.js        |   0
 .../{ => ui/converter}/MarkdownConverter.java      |   2 +-
 ...g.apache.isis.viewer.wicket.ui.ComponentFactory |   4 +-
 .../apache/isis/extensions/sse/IsisBootSse.java    |   2 +-
 .../ServerSentEventsServlet.java                   |   2 +-
 .../WebModuleServerSentEvents.java                 |   2 +-
 .../model/applib/IsisModuleIncModelApplib.java}    |   8 +-
 .../model}/applib/annotation/Model.java            |   2 +-
 .../metamodel/IsisModuleIncModelMetaModel.java     |  20 ++--
 .../SupportingMethodValidatorRefinerFactory.java   |   5 +-
 .../services}/IncubatorMetaModelPlugin.java        |   4 +-
 .../{ => legacy}/applib/DomainObjectContainer.java |   5 +-
 .../isis/{ => legacy}/applib/filter/Filter.java    |   2 +-
 .../isis/{ => legacy}/applib/filter/Filters.java   |   2 +-
 .../background/BackgroundCommandService2.java      |   4 +-
 .../services/background/BackgroundService.java     |   2 +-
 .../services/background/BackgroundService2.java    |   2 +-
 .../services/eventbus/ActionDomainEvent.java       |   2 +-
 .../services/eventbus/CollectionDomainEvent.java   |   3 +-
 .../services/eventbus/PropertyDomainEvent.java     |   2 +-
 .../FutureWithIndexIntoFutureOfList.java           |   2 +-
 .../threadpool/ThreadPoolExecutionMode.java        |   2 +-
 .../internal/threadpool/ThreadPoolSizeAdvisor.java |   2 +-
 .../internal/threadpool/ThreadPoolSupport.java     |   2 +-
 .../internal/threadpool/ThreadPoolSupportTest.java |   4 +-
 .../runtime/snapshot/DomSerializer.java            |   2 +-
 .../runtime/snapshot/DomSerializerJaxp.java        |   2 +-
 .../runtime/sysout/SystemPrinter.java              |   2 +-
 .../system/persistence/LoggingLocation.java        |   2 +-
 .../runtime/system/persistence/ObjectFactory.java  |   2 +-
 .../system/persistence/SuspendableListener.java    |   2 +-
 .../viewer/web/AbstractServletOrFilterMapping.java |   2 +-
 .../runtime/viewer/web/FilterSpecification.java    |   2 +-
 .../runtime/viewer/web/ServletSpecification.java   |   2 +-
 .../runtime/viewer/web/WebAppSpecification.java    |   2 +-
 legacy/testsupport/mavenplugin/pom.xml             |   2 +-
 mavendeps/webapp/pom.xml                           |   2 +-
 318 files changed, 954 insertions(+), 678 deletions(-)

diff --git a/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx b/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx
index 2a21074..62b22f3 100644
Binary files a/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx and b/antora/components/core/modules/archdesign/attachments/isis-configurations-and-modules.pptx differ
diff --git a/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java b/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
deleted file mode 100644
index 64a7033..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib;
-
-import org.apache.isis.schema.IsisSchemaModule;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-@Configuration
-@Import({
-        IsisSchemaModule.class
-})
-@ComponentScan
-public class IsisApplibModule {
-
-    // -- UI EVENT CLASSES
-
-    public abstract static class TitleUiEvent<S>
-    extends org.apache.isis.applib.events.ui.TitleUiEvent<S> {}
-
-    public abstract static class IconUiEvent<S>
-    extends org.apache.isis.applib.events.ui.IconUiEvent<S> {}
-
-    public abstract static class CssClassUiEvent<S>
-    extends org.apache.isis.applib.events.ui.CssClassUiEvent<S> {}
-    public abstract static class LayoutUiEvent<S>
-    extends org.apache.isis.applib.events.ui.LayoutUiEvent<S> {}
-
-    // -- DOMAIN EVENT CLASSES
-
-    public abstract static class ActionDomainEvent<S>
-    extends org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
-
-    public abstract static class CollectionDomainEvent<S,T>
-    extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {}
-
-    public abstract static class PropertyDomainEvent<S,T>
-    extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {}
-
-
-}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java b/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
new file mode 100644
index 0000000..fa69121
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
@@ -0,0 +1,121 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.applib;
+
+import org.apache.isis.applib.mixins.dto.DtoMappingHelper;
+import org.apache.isis.applib.mixins.dto.Dto_downloadXml;
+import org.apache.isis.applib.mixins.dto.Dto_downloadXsd;
+import org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml;
+import org.apache.isis.applib.mixins.layout.Object_openRestApi;
+import org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel;
+import org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml;
+import org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier;
+import org.apache.isis.applib.mixins.metamodel.Object_objectType;
+import org.apache.isis.applib.services.audit.AuditerServiceLogging;
+import org.apache.isis.applib.services.bookmark.BookmarkHolder_lookup;
+import org.apache.isis.applib.services.bookmark.BookmarkHolder_object;
+import org.apache.isis.applib.services.clock.ClockService;
+import org.apache.isis.applib.services.command.CommandContext;
+import org.apache.isis.applib.services.confview.ConfigurationMenu;
+import org.apache.isis.applib.services.conmap.command.ContentMappingServiceForCommandDto;
+import org.apache.isis.applib.services.conmap.command.ContentMappingServiceForCommandsDto;
+import org.apache.isis.applib.services.iactn.InteractionContext;
+import org.apache.isis.applib.services.jaxb.JaxbServiceDefault;
+import org.apache.isis.applib.services.layout.LayoutServiceMenu;
+import org.apache.isis.applib.services.metamodel.MetaModelServicesMenu;
+import org.apache.isis.applib.services.publish.PublisherServiceLogging;
+import org.apache.isis.applib.services.queryresultscache.QueryResultsCacheInternal;
+import org.apache.isis.applib.services.scratchpad.Scratchpad;
+import org.apache.isis.applib.services.swagger.SwaggerServiceMenu;
+import org.apache.isis.applib.services.tablecol.TableColumnOrderService;
+import org.apache.isis.applib.services.urlencoding.UrlEncodingServiceWithCompression;
+import org.apache.isis.schema.IsisModuleSchema;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+@Configuration
+@Import({
+        // modules
+        IsisModuleSchema.class,
+
+        // mixins
+        BookmarkHolder_lookup.class,
+        BookmarkHolder_object.class,
+        Dto_downloadXml.class,
+        Dto_downloadXsd.class,
+        Object_downloadLayoutXml.class,
+        Object_downloadMetaModelXml.class,
+        Object_objectIdentifier.class,
+        Object_objectType.class,
+        Object_openRestApi.class,
+        Object_rebuildMetamodel.class,
+
+        // @DomainService's
+        ConfigurationMenu.class,
+        ContentMappingServiceForCommandDto.class,
+        ContentMappingServiceForCommandsDto.class,
+        DtoMappingHelper.class,
+        LayoutServiceMenu.class,
+        MetaModelServicesMenu.class,
+        QueryResultsCacheInternal.class,
+        Scratchpad.class,
+        SwaggerServiceMenu.class,
+        TableColumnOrderService.class,
+        UrlEncodingServiceWithCompression.class,
+
+        // @Component's
+        CommandContext.class,
+
+        // @Service's
+        AuditerServiceLogging.class,
+        ClockService.class,
+        InteractionContext.class,
+        JaxbServiceDefault.class,
+        PublisherServiceLogging.class
+
+
+})
+public class IsisModuleApplib {
+
+    // -- UI EVENT CLASSES
+
+    public abstract static class TitleUiEvent<S>
+    extends org.apache.isis.applib.events.ui.TitleUiEvent<S> {}
+
+    public abstract static class IconUiEvent<S>
+    extends org.apache.isis.applib.events.ui.IconUiEvent<S> {}
+
+    public abstract static class CssClassUiEvent<S>
+    extends org.apache.isis.applib.events.ui.CssClassUiEvent<S> {}
+    public abstract static class LayoutUiEvent<S>
+    extends org.apache.isis.applib.events.ui.LayoutUiEvent<S> {}
+
+    // -- DOMAIN EVENT CLASSES
+
+    public abstract static class ActionDomainEvent<S>
+    extends org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
+
+    public abstract static class CollectionDomainEvent<S,T>
+    extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {}
+
+    public abstract static class PropertyDomainEvent<S,T>
+    extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {}
+
+
+}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java b/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java
index 93cfb21..5d64609 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/domain/DomainObjectList.java
@@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
@@ -63,16 +63,16 @@ import org.apache.isis.commons.internal.collections._Lists;
 public class DomainObjectList {
 
     // -- ui event classes
-    public static class TitleUiEvent extends IsisApplibModule.TitleUiEvent<DomainObjectList>{  }
-    public static class IconUiEvent extends IsisApplibModule.IconUiEvent<DomainObjectList>{  }
-    public static class CssClassUiEvent extends IsisApplibModule.CssClassUiEvent<DomainObjectList>{  }
-    public static class LayoutUiEvent extends IsisApplibModule.LayoutUiEvent<DomainObjectList>{  }
+    public static class TitleUiEvent extends IsisModuleApplib.TitleUiEvent<DomainObjectList>{  }
+    public static class IconUiEvent extends IsisModuleApplib.IconUiEvent<DomainObjectList>{  }
+    public static class CssClassUiEvent extends IsisModuleApplib.CssClassUiEvent<DomainObjectList>{  }
+    public static class LayoutUiEvent extends IsisModuleApplib.LayoutUiEvent<DomainObjectList>{  }
 
 
     // -- domain event classes
-    public static abstract class PropertyDomainEvent<T> extends IsisApplibModule.PropertyDomainEvent<DomainObjectList, T> {  }
-    public static abstract class CollectionDomainEvent<T> extends IsisApplibModule.CollectionDomainEvent<DomainObjectList, T> {  }
-    public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<DomainObjectList> {  }
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleApplib.PropertyDomainEvent<DomainObjectList, T> {  }
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleApplib.CollectionDomainEvent<DomainObjectList, T> {  }
+    public static abstract class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<DomainObjectList> {  }
 
 
     // -- constructors
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
index 5f737db..95f0026 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
@@ -42,7 +42,7 @@ public class Dto_downloadXml {
     private final Dto holder;
 
     public static class ActionDomainEvent
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Dto_downloadXml> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Dto_downloadXml> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
index 1da5db6..f297601 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
@@ -46,7 +46,7 @@ public class Dto_downloadXsd {
     private final Dto holder;
 
     public static class ActionDomainEvent
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Dto_downloadXsd> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Dto_downloadXsd> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
index 49873d9..48a618f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
@@ -42,7 +42,7 @@ public class Object_downloadLayoutXml {
     private final Object holder;
 
     public static class ActionDomainEvent
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_downloadLayoutXml> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_downloadLayoutXml> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
index 62e4740..ee3e8fe 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
@@ -43,7 +43,7 @@ public class Object_openRestApi {
     private final Object holder;
 
     public static class ActionDomainEvent
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_openRestApi> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_openRestApi> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
index 2a9af94..e6721ee 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
@@ -40,7 +40,7 @@ public class Object_rebuildMetamodel {
     private final Object holder;
 
     public static class ActionDomainEvent
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_rebuildMetamodel> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_rebuildMetamodel> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java
index 1694747..3d94c23 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetaModelXml.java
@@ -46,7 +46,7 @@ public class Object_downloadMetaModelXml {
     private final Object holder;
 
     public static class ActionDomainEvent 
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_downloadMetaModelXml> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_downloadMetaModelXml> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
index b456092..9cd5181 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
@@ -41,7 +41,7 @@ public class Object_objectIdentifier {
     private final Object holder;
 
     public static class ActionDomainEvent 
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_objectIdentifier> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_objectIdentifier> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java b/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
index 73e8edb..92cba00 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
@@ -41,7 +41,7 @@ public class Object_objectType {
     private final Object holder;
 
     public static class ActionDomainEvent 
-    extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Object_objectType> {}
+    extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_objectType> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/package-info.java b/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/package-info.java
deleted file mode 100644
index 1c52c3e..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/services/actinvoc/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/**
- * The @{@link org.apache.isis.applib.services.actinvoc.ActionInvocationContext} domain service is a
- * <code>@RequestScoped</code> service intended to support the implementation of "bulk" actions annotated with
- * {@link org.apache.isis.applib.annotation.Action#invokeOn()}.
- *
- * <p>
- * This allows the user to select multiple objects in a table and then invoke the same action against all of them.
- * </p>
- *
- * @see <a href="http://isis.apache.org/guides/rgsvc/rgsvc.html#_rgsvc_application-layer-api_ActionInvocationContext">Reference guide</a>
- */
-package org.apache.isis.applib.services.actinvoc;
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java
index 31f1810..dfce5fa 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/audit/AuditerServiceLogging.java
@@ -23,6 +23,7 @@ import java.util.UUID;
 
 import javax.annotation.PostConstruct;
 
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.services.bookmark.Bookmark;
@@ -30,7 +31,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
 import lombok.extern.log4j.Log4j2;
 
 @Service
-@Log4j2
+@Log4j2 @Qualifier("logging")
 public class AuditerServiceLogging implements AuditerService {
 
     @PostConstruct
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
index 6347cc8..f5422cd 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
@@ -20,7 +20,7 @@ package org.apache.isis.applib.services.bookmark;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Contributed;
@@ -36,7 +36,7 @@ public class BookmarkHolder_lookup {
         this.bookmarkHolder = bookmarkHolder;
     }
 
-    public static class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<BookmarkHolder_lookup> {}
+    public static class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<BookmarkHolder_lookup> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
index b1ae00d..d7718de 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
@@ -20,7 +20,7 @@ package org.apache.isis.applib.services.bookmark;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Contributed;
@@ -36,7 +36,7 @@ public class BookmarkHolder_object {
         this.bookmarkHolder = bookmarkHolder;
     }
 
-    public static class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<BookmarkHolder_object> { }
+    public static class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<BookmarkHolder_object> { }
 
     @Action(
             semantics = SemanticsOf.SAFE,
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java
index 6fefb67..98759c7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java
@@ -23,7 +23,7 @@ import java.util.Set;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -42,7 +42,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 public class ConfigurationMenu {
 
     public static abstract class ActionDomainEvent
-    extends IsisApplibModule.ActionDomainEvent<ConfigurationMenu> {}
+    extends IsisModuleApplib.ActionDomainEvent<ConfigurationMenu> {}
 
     public static class AllConfigurationPropertiesDomainEvent
     extends ActionDomainEvent {}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
index 2acfcce..6b0cab9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
@@ -22,7 +22,7 @@ import javax.activation.MimeType;
 import javax.activation.MimeTypeParseException;
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -48,7 +48,7 @@ import org.apache.isis.commons.internal.base._Strings;
 public class LayoutServiceMenu {
 
     public static abstract class ActionDomainEvent
-    extends IsisApplibModule.ActionDomainEvent<LayoutServiceMenu> {}
+    extends IsisModuleApplib.ActionDomainEvent<LayoutServiceMenu> {}
 
     private final MimeType mimeTypeApplicationZip;
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
index 533c78a..bb3b5b8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
@@ -28,7 +28,7 @@ import javax.activation.MimeType;
 import javax.activation.MimeTypeParseException;
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -57,7 +57,7 @@ import org.apache.isis.schema.metamodel.v1.MetamodelDto;
         )
 public class MetaModelServicesMenu {
 
-    public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<MetaModelServicesMenu> { }
+    public static abstract class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<MetaModelServicesMenu> { }
 
     final MimeType mimeTypeTextCsv;
     final MimeType mimeTypeTextXml;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
index 15385e6..02b17ee 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/swagger/SwaggerServiceMenu.java
@@ -20,7 +20,7 @@ package org.apache.isis.applib.services.swagger;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -46,7 +46,7 @@ import org.apache.isis.commons.internal.resources._Resources;
         )
 public class SwaggerServiceMenu {
 
-    public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<SwaggerServiceMenu> { }
+    public static abstract class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<SwaggerServiceMenu> { }
     public static class OpenSwaggerUiDomainEvent extends ActionDomainEvent { }
 
     @Action(
diff --git a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java
new file mode 100644
index 0000000..b12e8bc
--- /dev/null
+++ b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/IsisModuleCodegenByteBuddy.java
@@ -0,0 +1,7 @@
+package org.apache.isis.codegen.bytebuddy;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleCodegenByteBuddy {
+}
diff --git a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/ClassLoadingStrategyAdvisor.java b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/services/ClassLoadingStrategyAdvisor.java
similarity index 98%
rename from core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/ClassLoadingStrategyAdvisor.java
rename to core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/services/ClassLoadingStrategyAdvisor.java
index 4d453e6..1a76085 100644
--- a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/ClassLoadingStrategyAdvisor.java
+++ b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/services/ClassLoadingStrategyAdvisor.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.codegen.bytebuddy;
+package org.apache.isis.codegen.bytebuddy.services;
 
 import java.lang.invoke.MethodHandle;
 import java.lang.invoke.MethodHandles;
diff --git a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/ProxyFactoryPluginUsingByteBuddy.java b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/services/ProxyFactoryPluginUsingByteBuddy.java
similarity index 98%
rename from core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/ProxyFactoryPluginUsingByteBuddy.java
rename to core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/services/ProxyFactoryPluginUsingByteBuddy.java
index 6403a63..e1e7c1b 100644
--- a/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/ProxyFactoryPluginUsingByteBuddy.java
+++ b/core/codegen-bytebuddy/src/main/java/org/apache/isis/codegen/bytebuddy/services/ProxyFactoryPluginUsingByteBuddy.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.codegen.bytebuddy;
+package org.apache.isis.codegen.bytebuddy.services;
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
@@ -42,7 +42,7 @@ import net.bytebuddy.matcher.ElementMatchers;
 
 public class ProxyFactoryPluginUsingByteBuddy implements ProxyFactoryPlugin {
 
-    private final ClassLoadingStrategyAdvisor strategyAdvisor = new ClassLoadingStrategyAdvisor(); 
+    private final ClassLoadingStrategyAdvisor strategyAdvisor = new ClassLoadingStrategyAdvisor();
 
     @Override
     public <T> ProxyFactory<T> factory(
diff --git a/core/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.commons.internal.plugins.codegen.ProxyFactoryPlugin b/core/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.commons.internal.plugins.codegen.ProxyFactoryPlugin
index b255b8d..5ff2be7 100644
--- a/core/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.commons.internal.plugins.codegen.ProxyFactoryPlugin
+++ b/core/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.commons.internal.plugins.codegen.ProxyFactoryPlugin
@@ -1 +1 @@
-org.apache.isis.codegen.bytebuddy.ProxyFactoryPluginUsingByteBuddy
\ No newline at end of file
+org.apache.isis.codegen.bytebuddy.services.ProxyFactoryPluginUsingByteBuddy
\ No newline at end of file
diff --git a/core/commons/src/main/java/org/apache/isis/commons/IsisModuleCommons.java b/core/commons/src/main/java/org/apache/isis/commons/IsisModuleCommons.java
new file mode 100644
index 0000000..eae0fd5
--- /dev/null
+++ b/core/commons/src/main/java/org/apache/isis/commons/IsisModuleCommons.java
@@ -0,0 +1,13 @@
+package org.apache.isis.commons;
+
+import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+@Configuration
+@Import({
+    // @Service's
+    IsisSystemEnvironment.class
+})
+public class IsisModuleCommons {
+}
diff --git a/core/commons/src/main/java/org/apache/isis/commons/handler/ChainOfResponsibility.java b/core/commons/src/main/java/org/apache/isis/commons/handler/ChainOfResponsibility.java
index 784b553..65d76ef 100644
--- a/core/commons/src/main/java/org/apache/isis/commons/handler/ChainOfResponsibility.java
+++ b/core/commons/src/main/java/org/apache/isis/commons/handler/ChainOfResponsibility.java
@@ -71,12 +71,11 @@ public interface ChainOfResponsibility<X, R> {
     
         return request -> {
 
-            val response = chainOfHandlers.stream()
-                    .filter(h->h.isHandling(request))
+            final Optional<R> responseIfAny = chainOfHandlers.stream()
+                    .filter(h -> h.isHandling(request))
                     .findFirst()
-                    .map(h->h.handle(request));
-
-            return response;
+                    .map(h -> h.handle(request));
+            return responseIfAny;
         };
         
     }
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java b/core/config/src/main/java/org/apache/isis/config/IsisModuleConfig.java
similarity index 84%
rename from core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
rename to core/config/src/main/java/org/apache/isis/config/IsisModuleConfig.java
index 37e7cb0..dccc231 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfigModule.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisModuleConfig.java
@@ -21,6 +21,8 @@ package org.apache.isis.config;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.isis.commons.IsisModuleCommons;
+import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
@@ -32,12 +34,18 @@ import org.apache.isis.config.viewer.wicket.WebAppConfiguration;
 
 @Configuration
 @Import({
+    // modules
+    IsisModuleCommons.class,
+
+    // @Component's
     IsisConfiguration.PatternsConverter.class,
-    IsisSystemEnvironment.class,
-    WebAppConfiguration.class
+    IsisBeanFactoryPostProcessorForSpring.class,
+
+    // @Service's
+    WebAppConfiguration.class,
 })
 @EnableConfigurationProperties(IsisConfiguration.class)
-public class IsisConfigModule {
+public class IsisModuleConfig {
     
     @SuppressWarnings("ConfigurationProperties") // think this is not really an issue...
     @ConfigurationProperties(prefix = "isis")
diff --git a/core/config/src/main/java/org/apache/isis/config/presets/DebugDiscovery.properties b/core/config/src/main/java/org/apache/isis/config/presets/DebugDiscovery.properties
index 4141dbf..53d21fb 100644
--- a/core/config/src/main/java/org/apache/isis/config/presets/DebugDiscovery.properties
+++ b/core/config/src/main/java/org/apache/isis/config/presets/DebugDiscovery.properties
@@ -15,5 +15,5 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-logging.level.org.apache.isis.config.registry.IsisBeanTypeRegistry = DEBUG
+logging.level.org.apache.isis.config.beans.IsisBeanTypeRegistry = DEBUG
 logging.level.org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring = DEBUG
diff --git a/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAs.java b/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAs.java
index e3f9c30..79404fb 100644
--- a/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAs.java
+++ b/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAs.java
@@ -21,15 +21,13 @@ package org.apache.isis.metamodel.facets.object.mixin;
 import java.lang.reflect.Method;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
-import org.mockito.ArgumentCaptor;
 import org.mockito.ArgumentMatchers;
-import org.mockito.Matchers;
 import org.mockito.Mockito;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.i18n.TranslationService.Mode;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FeatureType;
diff --git a/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAsActionTest.java b/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAsActionTest.java
index 10479ee..ece3508 100644
--- a/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAsActionTest.java
+++ b/core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAsActionTest.java
@@ -27,23 +27,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
-import org.springframework.util.ReflectionUtils;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Mixin;
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.adapter.oid.Oid;
-import org.apache.isis.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.metamodel.facets.object.mixin.MixinFacet.Policy;
-import org.apache.isis.metamodel.spec.ManagedObject;
-import org.apache.isis.metamodel.spec.ObjectSpecId;
-import org.apache.isis.metamodel.specloader.specimpl.IntrospectionState;
-import org.apache.isis.runtime.persistence.adapter.PojoAdapter;
 
 import lombok.Data;
 import lombok.RequiredArgsConstructor;
diff --git a/core/metamodel/pom.xml b/core/metamodel/pom.xml
index 02000d2..4ef95dd 100644
--- a/core/metamodel/pom.xml
+++ b/core/metamodel/pom.xml
@@ -88,7 +88,7 @@
         
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-security</artifactId>
+            <artifactId>isis-security-api</artifactId>
         </dependency>
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java
new file mode 100644
index 0000000..1e96b1d
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisModuleMetamodel.java
@@ -0,0 +1,101 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.metamodel;
+
+import org.apache.isis.applib.IsisModuleApplib;
+import org.apache.isis.config.IsisModuleConfig;
+import org.apache.isis.metamodel.context.MetaModelContexts;
+import org.apache.isis.metamodel.objectmanager.ObjectManagerDefault;
+import org.apache.isis.metamodel.progmodel.ProgrammingModelInitFilterDefault;
+import org.apache.isis.metamodel.services.ServiceInjectorDefault;
+import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureFactory;
+import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureRepositoryDefault;
+import org.apache.isis.metamodel.services.classsubstitutor.ClassSubstitutorDefault;
+import org.apache.isis.metamodel.services.events.MetamodelEventService;
+import org.apache.isis.metamodel.services.events.MetamodelEventSupport_Spring;
+import org.apache.isis.metamodel.services.exceprecog.ExceptionRecognizerDocDefault;
+import org.apache.isis.metamodel.services.grid.GridLoaderServiceDefault;
+import org.apache.isis.metamodel.services.grid.GridReaderUsingJaxb;
+import org.apache.isis.metamodel.services.grid.GridServiceDefault;
+import org.apache.isis.metamodel.services.grid.bootstrap3.GridSystemServiceBS3;
+import org.apache.isis.metamodel.services.layout.LayoutServiceDefault;
+import org.apache.isis.metamodel.services.metamodel.MetaModelServiceDefault;
+import org.apache.isis.metamodel.services.registry.ServiceRegistryDefault;
+import org.apache.isis.metamodel.services.swagger.SwaggerServiceDefault;
+import org.apache.isis.metamodel.services.swagger.internal.ClassExcluderDefault;
+import org.apache.isis.metamodel.services.swagger.internal.SwaggerSpecGenerator;
+import org.apache.isis.metamodel.services.swagger.internal.TaggerDefault;
+import org.apache.isis.metamodel.services.swagger.internal.ValuePropertyFactoryDefault;
+import org.apache.isis.metamodel.services.title.TitleServiceDefault;
+import org.apache.isis.metamodel.services.user.UserServiceDefault;
+import org.apache.isis.metamodel.specloader.InjectorMethodEvaluatorDefault;
+import org.apache.isis.metamodel.specloader.ProgrammingModelServiceDefault;
+import org.apache.isis.metamodel.specloader.SpecificationLoaderDefault;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+@Configuration
+@Import({
+        // modules
+        IsisModuleApplib.class,
+        IsisModuleConfig.class,
+
+        // @Configuration's
+        MetaModelContexts.class,
+        MetamodelEventSupport_Spring.class,
+
+        // @Component's
+        ProgrammingModelInitFilterDefault.class,
+        ClassSubstitutorDefault.class,
+        ClassExcluderDefault.class,
+        SwaggerSpecGenerator.class,
+        TaggerDefault.class,
+        ValuePropertyFactoryDefault.class,
+
+        // @Service's
+        ObjectManagerDefault.class,
+        ServiceInjectorDefault.class,
+        ApplicationFeatureFactory.class,
+        MetamodelEventService.class,
+        ExceptionRecognizerDocDefault.class,
+        GridLoaderServiceDefault.class,
+        GridReaderUsingJaxb.class,
+        GridServiceDefault.class,
+        GridSystemServiceBS3.class,
+        LayoutServiceDefault.class,
+        MetaModelServiceDefault.class,
+        SwaggerServiceDefault.class,
+        TitleServiceDefault.class,
+        UserServiceDefault.class,
+        InjectorMethodEvaluatorDefault.class,
+        ProgrammingModelServiceDefault.class,
+        SpecificationLoaderDefault.class,
+
+        // @Repository's
+        ApplicationFeatureRepositoryDefault.class,
+
+        // @DomainService's
+        ServiceRegistryDefault.class,
+        UserServiceDefault.SudoServiceSpi.class,
+
+})
+public class IsisModuleMetamodel {
+
+}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContext.java
similarity index 99%
rename from core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java
rename to core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContext.java
index e022f54..e2ecb1d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContext.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.metamodel;
+package org.apache.isis.metamodel.context;
 
 import java.util.stream.Stream;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContextAware.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContextAware.java
similarity index 95%
rename from core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContextAware.java
rename to core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContextAware.java
index 4c01a1d..6b0814e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContextAware.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContextAware.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.metamodel;
+package org.apache.isis.metamodel.context;
 
 /**
  * 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContext_usingIoc.java
similarity index 99%
rename from core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java
rename to core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContext_usingIoc.java
index 6dca88b..1ce14d8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContext_usingIoc.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.metamodel;
+package org.apache.isis.metamodel.context;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContexts.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContexts.java
similarity index 96%
rename from core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContexts.java
rename to core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContexts.java
index 57b9cc6..b73d218 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContexts.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/context/MetaModelContexts.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.metamodel;
+package org.apache.isis.metamodel.context;
 
 import javax.inject.Singleton;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetAbstract.java
index 986c55a..4d0375d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetAbstract.java
@@ -26,7 +26,7 @@ import java.util.function.Consumer;
 
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 
 import static org.apache.isis.commons.internal.base._With.requires;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolder.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolder.java
index 4358ca1..a1adde6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolder.java
@@ -21,7 +21,7 @@ package org.apache.isis.metamodel.facetapi;
 
 import java.util.stream.Stream;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 
 import lombok.val;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolderImpl.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolderImpl.java
index 7fb21a9..7276254 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolderImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/FacetHolderImpl.java
@@ -27,8 +27,8 @@ import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Lazy;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.collections._Maps.AliasMap;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 
 import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactoryAbstract.java
index f93aa6f..fe7edb4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactoryAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactoryAbstract.java
@@ -22,8 +22,8 @@ package org.apache.isis.metamodel.facets;
 import java.util.List;
 
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetUtil;
 import org.apache.isis.metamodel.facetapi.FeatureType;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
index bd3f121..da16bd4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactory.java
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.ViewModel;
 import org.apache.isis.applib.annotation.ViewModelLayout;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.FeatureType;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.metamodel.facets.Annotations;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index dcf9ca5..4fe237e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -39,7 +39,7 @@ import org.apache.isis.applib.events.lifecycle.ObjectUpdatedEvent;
 import org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent;
 import org.apache.isis.applib.services.HasUniqueId;
 import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FeatureType;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
index 9fd7142..36b65d3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
@@ -24,7 +24,7 @@ import java.util.stream.Stream;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.FeatureType;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.metamodel.facets.Annotations;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java
index 40d03dd..8ecb736 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/param/parameter/ParameterAnnotationFacetFactory.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
 import javax.validation.constraints.Pattern;
 
 import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.FeatureType;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.metamodel.facets.FacetFactoryAbstract;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
index afc3b0e..7e6f205 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.events.domain.PropertyDomainEvent;
 import org.apache.isis.applib.services.HasUniqueId;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.FacetUtil;
 import org.apache.isis.metamodel.facetapi.FeatureType;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java
index 498a5bb..f5f6d85 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java
@@ -20,7 +20,7 @@ package org.apache.isis.metamodel.objectmanager;
 
 import javax.annotation.Nullable;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.oid.RootOid;
 import org.apache.isis.metamodel.objectmanager.create.ObjectCreator;
 import org.apache.isis.metamodel.objectmanager.identify.ObjectIdentifier;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManagerDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManagerDefault.java
index b501d2e..f0274ff 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManagerDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManagerDefault.java
@@ -23,7 +23,7 @@ import javax.inject.Inject;
 
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.objectmanager.create.ObjectCreator;
 import org.apache.isis.metamodel.objectmanager.identify.ObjectIdentifier;
 import org.apache.isis.metamodel.objectmanager.load.ObjectLoader;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator.java
index fff3a74..fc21161 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator.java
@@ -22,8 +22,8 @@ package org.apache.isis.metamodel.objectmanager.create;
 import org.apache.isis.commons.handler.ChainOfResponsibility;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator_builtinHandlers.java
index e9439bf..43228a3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/create/ObjectCreator_builtinHandlers.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.services.eventbus.EventBusService;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.commons.internal.factory.InstanceUtil;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facets.object.callbacks.CallbackFacet;
 import org.apache.isis.metamodel.facets.object.callbacks.CreatedCallbackFacet;
 import org.apache.isis.metamodel.facets.object.callbacks.CreatedLifecycleEventFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader.java
index b6175cf..6ca438a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader.java
@@ -22,8 +22,8 @@ package org.apache.isis.metamodel.objectmanager.load;
 import org.apache.isis.commons.handler.ChainOfResponsibility;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java
index 0f6ed91..81ca9b4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/load/ObjectLoader_builtinHandlers.java
@@ -24,7 +24,7 @@ import java.lang.reflect.Modifier;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.commons.internal.ioc.ManagedBeanAdapter;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facets.object.entity.EntityFacet;
 import org.apache.isis.metamodel.facets.object.viewmodel.ViewModelFacet;
 import org.apache.isis.metamodel.objectmanager.load.ObjectLoader.Request;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/refresh/ObjectRefresher_builtinHandlers.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/refresh/ObjectRefresher_builtinHandlers.java
index 8dfcaa5..c1f5d98 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/refresh/ObjectRefresher_builtinHandlers.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/refresh/ObjectRefresher_builtinHandlers.java
@@ -19,7 +19,7 @@
 package org.apache.isis.metamodel.objectmanager.refresh;
 
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facets.object.entity.EntityFacet;
 import org.apache.isis.metamodel.spec.ManagedObject;
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
index b85e903..135850e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/postprocessors/param/DeriveFacetsPostProcessor.java
@@ -31,8 +31,8 @@ import org.apache.isis.applib.events.domain.CollectionDomainEvent;
 import org.apache.isis.applib.events.domain.PropertyDomainEvent;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.reflection._Annotations;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facetapi.FacetUtil;
 import org.apache.isis.metamodel.facets.FacetedMethod;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelAbstract.java
index 8b691d9..128a2e7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelAbstract.java
@@ -22,7 +22,6 @@ package org.apache.isis.metamodel.progmodel;
 import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.function.Supplier;
 import java.util.stream.Stream;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
@@ -30,14 +29,11 @@ import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Multimaps;
 import org.apache.isis.commons.internal.collections._Multimaps.SetMultimap;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.metamodel.facets.FacetFactory;
-import org.apache.isis.metamodel.progmodel.ProgrammingModel.Marker;
-import org.apache.isis.metamodel.progmodel.ProgrammingModel.ValidationOrder;
 import org.apache.isis.metamodel.specloader.validator.MetaModelValidator;
-import org.apache.isis.metamodel.specloader.validator.MetaModelValidatorVisiting;
 
 import lombok.EqualsAndHashCode;
 import lombok.Value;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeature.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeature.java
index 0217655..339965b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeature.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeature.java
@@ -25,7 +25,7 @@ import java.util.function.Predicate;
 
 import javax.enterprise.inject.Vetoed;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository;
@@ -48,17 +48,17 @@ import org.apache.isis.commons.internal.collections._Sets;
 public class ApplicationFeature implements Comparable<ApplicationFeature> {
 
     public static abstract class PropertyDomainEvent<T> 
-    extends IsisApplibModule.PropertyDomainEvent<ApplicationFeature, T> {
+    extends IsisModuleApplib.PropertyDomainEvent<ApplicationFeature, T> {
         private static final long serialVersionUID = 1L;
     }
 
     public static abstract class CollectionDomainEvent<T> 
-    extends IsisApplibModule.CollectionDomainEvent<ApplicationFeature, T> {
+    extends IsisModuleApplib.CollectionDomainEvent<ApplicationFeature, T> {
         private static final long serialVersionUID = 1L;
     }
 
     public static abstract class ActionDomainEvent 
-    extends IsisApplibModule.ActionDomainEvent<ApplicationFeature> {
+    extends IsisModuleApplib.ActionDomainEvent<ApplicationFeature> {
         private static final long serialVersionUID = 1L;
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
index 9f4b848..336ae72 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
@@ -30,6 +30,7 @@ import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
 import org.apache.isis.config.metamodel.services.ApplicationFeaturesInitConfiguration;
+import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.SemanticsOf;
@@ -62,7 +63,7 @@ import static org.apache.isis.commons.internal.base._NullSafe.stream;
 
 import lombok.val;
 
-@Service
+@Repository
 public class ApplicationFeatureRepositoryDefault implements ApplicationFeatureRepository {
 
     // -- caches
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
index c11c9e9..3a011b4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/ManagedObject.java
@@ -33,8 +33,8 @@ import org.apache.isis.applib.domain.DomainObjectList;
 import org.apache.isis.commons.internal.base._Tuples.Tuple2;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
 import org.apache.isis.metamodel.adapter.oid.ParentedOid;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.oid.RootOid;
 import org.apache.isis.metamodel.commons.ClassExtensions;
 import org.apache.isis.metamodel.commons.ListExtensions;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
index a9585b6..c5ce02b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/spec/feature/ObjectAction.java
@@ -38,8 +38,7 @@ import org.apache.isis.applib.value.Clob;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Sets;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.consent.Consent;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.metamodel.facets.actions.action.associateWith.AssociatedWithFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/ProgrammingModelServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/ProgrammingModelServiceDefault.java
index b1ec9e1..d91b7a9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/ProgrammingModelServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/ProgrammingModelServiceDefault.java
@@ -25,7 +25,7 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.commons.internal.base._Lazy;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
 import org.apache.isis.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.metamodel.progmodel.ProgrammingModelInitFilter;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java
index d2c30b8..02e4d58 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/SpecificationLoaderDefault.java
@@ -39,7 +39,7 @@ import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.config.beans.IsisBeanTypeRegistryHolder;
 import org.apache.isis.config.metamodel.specloader.IntrospectionMode;
 import org.apache.isis.config.beans.IsisBeanTypeRegistry;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.metamodel.progmodel.ProgrammingModelService;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/facetprocessor/FacetProcessor.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/facetprocessor/FacetProcessor.java
index ac0bfad..25689ac 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/facetprocessor/FacetProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/facetprocessor/FacetProcessor.java
@@ -32,7 +32,7 @@ import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.collections._Multimaps;
 import org.apache.isis.commons.internal.collections._Multimaps.ListMultimap;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.commons.ListExtensions;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FeatureType;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index c810ee4..76d8272 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -26,8 +26,7 @@ import java.util.function.Predicate;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.commons.ClassExtensions;
 import org.apache.isis.metamodel.commons.ListExtensions;
 import org.apache.isis.metamodel.commons.StringExtensions;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index 54d2499..dd95b44 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.CommandContext;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.commons.StringExtensions;
 import org.apache.isis.metamodel.consent.Consent;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 7a6d209..f7d7807 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.commons.internal.base._Lazy;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.commons.StringExtensions;
 import org.apache.isis.metamodel.commons.ToString;
 import org.apache.isis.metamodel.facetapi.Facet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorAbstract.java
index c5bd3f3..f796b74 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorAbstract.java
@@ -21,8 +21,8 @@ package org.apache.isis.metamodel.specloader.validator;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 
 import lombok.Getter;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_configTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_configTest.java
index 6afa283..f8a9645 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_configTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_configTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.metamodel;
 
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java
index 267deea..99d5a35 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Stream;
 
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.springframework.core.env.AbstractEnvironment;
 
 import org.apache.isis.applib.services.i18n.TranslationService;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceInjector_forTesting.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceInjector_forTesting.java
index b40cc70..b5d51ca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceInjector_forTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceInjector_forTesting.java
@@ -20,6 +20,7 @@ package org.apache.isis.metamodel;
 
 import java.util.function.Consumer;
 
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.springframework.beans.factory.InjectionPoint;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java
index b53a62b..4d0d508 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/ServiceRegistry_forTesting.java
@@ -33,6 +33,7 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.commons.internal.ioc.IocContainer;
 import org.apache.isis.commons.internal.ioc.ManagedBeanAdapter;
 import org.apache.isis.commons.internal.ioc.spring._Spring;
+import org.apache.isis.metamodel.context.MetaModelContext;
 
 import lombok.Builder;
 import lombok.Getter;
@@ -45,7 +46,7 @@ import lombok.val;
 @RequiredArgsConstructor
 class ServiceRegistry_forTesting implements ServiceRegistry {
 
-    @NonNull private final MetaModelContext metaModelContext; 
+    @NonNull private final MetaModelContext metaModelContext;
     
     @Getter @Setter private IocContainer iocContainer;
     private final Set<ManagedBeanAdapter> registeredBeans = _Sets.newHashSet();
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
index 975c309..d3f732a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
@@ -33,8 +33,8 @@ import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryTest.java
index eaa4fd2..b6d816d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/AbstractFacetFactoryTest.java
@@ -27,7 +27,7 @@ import org.junit.Rule;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
index 19596dd..82c7042 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
@@ -28,8 +28,8 @@ import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.FacetFactory;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/TitleFacetViaMethodTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/TitleFacetViaMethodTest.java
index 1894bf5..af5cb1e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/TitleFacetViaMethodTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/TitleFacetViaMethodTest.java
@@ -30,7 +30,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/annotation/TitleFacetViaTitleAnnotationTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/annotation/TitleFacetViaTitleAnnotationTest.java
index 1b73991..96e1047 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/annotation/TitleFacetViaTitleAnnotationTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/ident/title/annotation/TitleFacetViaTitleAnnotationTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
 
 import org.apache.isis.applib.annotation.Title;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.Annotations;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
index 32a0ceb..a2b6f2d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.adapters.ParsingException;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
index 841457c..5e13ea0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
@@ -24,7 +24,7 @@ import java.math.BigDecimal;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigIntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
index 6360f77..a002a4c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
@@ -24,7 +24,7 @@ import java.math.BigInteger;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ByteValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ByteValueSemanticsProviderTest.java
index e44c5b3..c209f36 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ByteValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ByteValueSemanticsProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.metamodel.facets.value;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/DoubleValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
index b94b353..bfb0be4 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.metamodel.facets.value;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/FloatValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/FloatValueSemanticsProviderTest.java
index b0889c7..bc97a75 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/FloatValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/FloatValueSemanticsProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.metamodel.facets.value;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/IntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/IntValueSemanticsProviderTest.java
index 75512cd..5d06408 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/IntValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/IntValueSemanticsProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.metamodel.facets.value;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
index b50ecca..7820ebe 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import java.util.TimeZone;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java
index eb69c5f..677082b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java
@@ -27,7 +27,7 @@ import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.value.timesql.JavaSqlTimeValueSemanticsProvider;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
index d5133ae..086d523 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
@@ -27,7 +27,7 @@ import java.util.TimeZone;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/LongValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/LongValueSemanticsProviderTest.java
index daa1a60..b43e519 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/LongValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/LongValueSemanticsProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.metamodel.facets.value;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/MoneyValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/MoneyValueSemanticsProviderTest.java
index 8581bc1..b855ec2 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/MoneyValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/MoneyValueSemanticsProviderTest.java
@@ -25,7 +25,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.isis.applib.value.Money;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/PercentageValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/PercentageValueSemanticsProviderTest.java
index 3d13b21..ab8b579 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/PercentageValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/PercentageValueSemanticsProviderTest.java
@@ -23,7 +23,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.isis.applib.value.Percentage;
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.value.percentage.PercentageValueSemanticsProvider;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ShortValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ShortValueSemanticsProviderTest.java
index 5925121..93e4f27 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ShortValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ShortValueSemanticsProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.isis.metamodel.facets.value;
 import org.junit.Before;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContextAware;
+import org.apache.isis.metamodel.context.MetaModelContextAware;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.metamodel.facets.object.parseable.TextEntryParseException;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
index 526cf1c..4940c5a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
@@ -29,7 +29,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_usingFields.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_usingFields.java
index a128b77..dd3e6bf 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_usingFields.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_usingFields.java
@@ -34,7 +34,7 @@ import org.springframework.test.context.ActiveProfiles;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.config.IsisConfigModule;
+import org.apache.isis.config.IsisModuleConfig;
 import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
 import org.apache.isis.metamodel.services.registry.ServiceRegistryDefault;
 
@@ -46,7 +46,7 @@ import lombok.Getter;
 @ActiveProfiles("test")
 @SpringBootTest(classes = {
         IsisBeanFactoryPostProcessorForSpring.class,
-        IsisConfigModule.class,
+        IsisModuleConfig.class,
         ServiceInjectorDefault.class,
         ServiceRegistryDefault.class,
         ServiceInjectorLegacyTest.Producers.class,
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_validateServices_happy.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_validateServices_happy.java
index b39d0d5..0288b42 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_validateServices_happy.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorDefaultTest_validateServices_happy.java
@@ -32,7 +32,7 @@ import org.springframework.test.context.ActiveProfiles;
 
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.config.IsisConfigModule;
+import org.apache.isis.config.IsisModuleConfig;
 import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
 import org.apache.isis.metamodel.services.registry.ServiceRegistryDefault;
 
@@ -40,7 +40,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 @ActiveProfiles("test")
 @SpringBootTest(classes = {
-        IsisConfigModule.class,
+        IsisModuleConfig.class,
         ServiceInjectorDefault.class,
         ServiceRegistryDefault.class,
         ServiceInjectorLegacyTest.Producers.class,
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorLegacyTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorLegacyTest.java
index c609b84..67c0ec9 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorLegacyTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/services/ServiceInjectorLegacyTest.java
@@ -35,7 +35,7 @@ import org.springframework.test.context.ActiveProfiles;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.config.IsisConfigModule;
+import org.apache.isis.config.IsisModuleConfig;
 import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
 import org.apache.isis.metamodel.services.registry.ServiceRegistryDefault;
@@ -51,7 +51,7 @@ import lombok.val;
 @ActiveProfiles("test")
 @SpringBootTest(classes = {
         IsisBeanFactoryPostProcessorForSpring.class,
-        IsisConfigModule.class,
+        IsisModuleConfig.class,
         ServiceInjectorLegacy.class,
         ServiceRegistryDefault.class,
         ServiceInjectorLegacyTest.Producers.class,
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/SpecificationLoaderTestAbstract.java
index 3b30b70..f979eca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -32,7 +32,7 @@ import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.services.title.TitleService;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.facetapi.Facet;
 import org.apache.isis.metamodel.facets.actcoll.typeof.TypeOfFacet;
diff --git a/core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java b/core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisModuleJdoApplib.java
similarity index 87%
copy from core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java
copy to core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisModuleJdoApplib.java
index bb6acf2..37c6cca 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java
+++ b/core/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/services/IsisModuleJdoApplib.java
@@ -16,13 +16,10 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.schema;
+package org.apache.isis.persistence.jdo.applib.services;
 
-import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
-public class IsisSchemaModule {
-
-
+public class IsisModuleJdoApplib {
 }
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisBootDataNucleus.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java
similarity index 88%
rename from core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisBootDataNucleus.java
rename to core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java
index 2731748..b569a9f 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisBootDataNucleus.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/IsisModuleJdoDataNucleus5.java
@@ -21,6 +21,9 @@ package org.apache.isis.persistence.jdo.datanucleus5;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.isis.metamodel.IsisModuleMetamodel;
+import org.apache.isis.persistence.jdo.applib.services.IsisModuleJdoApplib;
+import org.apache.isis.schema.IsisModuleSchema;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -38,6 +41,11 @@ import org.apache.isis.persistence.jdo.datanucleus5.persistence.PersistenceSessi
 
 @Configuration
 @Import({
+        // modules
+        IsisModuleJdoApplib.class,
+        IsisModuleMetamodel.class,
+        IsisModuleSchema.class,
+
     DataNucleusSettings.class, // config bean
     JdoProgrammingModelPlugin.class, // metamodel extensions
     JdoPersistenceLifecycleService.class,
@@ -51,7 +59,7 @@ import org.apache.isis.persistence.jdo.datanucleus5.persistence.PersistenceSessi
                 // bring in the mixins
                 Persistable_datanucleusIdLong.class,
         })
-public class IsisBootDataNucleus {
+public class IsisModuleJdoDataNucleus5 {
     
     // reserved for datanucleus' own config props
     @ConfigurationProperties(prefix = "isis.persistor.datanucleus.impl")
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/service/JdoPersistenceLifecycleService.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/service/JdoPersistenceLifecycleService.java
index e361879..495ee6d 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/service/JdoPersistenceLifecycleService.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/datanucleus/service/JdoPersistenceLifecycleService.java
@@ -27,7 +27,7 @@ import org.springframework.stereotype.Service;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.config.beans.IsisBeanTypeRegistryHolder;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.runtime.system.context.session.AppLifecycleEvent;
 import org.apache.isis.runtime.system.context.session.SessionLifecycleEvent;
 import org.apache.isis.runtime.system.persistence.PersistenceSession;
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusIdLong.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusIdLong.java
index d140995..26e214eb 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusIdLong.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusIdLong.java
@@ -42,7 +42,7 @@ public class Persistable_datanucleusIdLong {
         this.persistable = persistable;
     }
 
-    public static class ActionDomainEvent extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Persistable_datanucleusIdLong> {}
+    public static class ActionDomainEvent extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Persistable_datanucleusIdLong> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionLong.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionLong.java
index 4c2bc0d..2bddb75 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionLong.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionLong.java
@@ -41,7 +41,7 @@ public class Persistable_datanucleusVersionLong {
         this.persistable = persistable;
     }
 
-    public static class ActionDomainEvent extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Persistable_datanucleusVersionLong> {}
+    public static class ActionDomainEvent extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Persistable_datanucleusVersionLong> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionTimestamp.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionTimestamp.java
index e0b442c..af25448 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionTimestamp.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_datanucleusVersionTimestamp.java
@@ -41,7 +41,7 @@ public class Persistable_datanucleusVersionTimestamp {
         this.persistable = persistable;
     }
 
-    public static class ActionDomainEvent extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Persistable_datanucleusVersionTimestamp> {}
+    public static class ActionDomainEvent extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Persistable_datanucleusVersionTimestamp> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_downloadJdoMetadata.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_downloadJdoMetadata.java
index 5fb1e2f..e77c121 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_downloadJdoMetadata.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/mixins/Persistable_downloadJdoMetadata.java
@@ -49,7 +49,7 @@ public class Persistable_downloadJdoMetadata {
         this.persistable = persistable;
     }
 
-    public static class ActionDomainEvent extends org.apache.isis.applib.IsisApplibModule.ActionDomainEvent<Persistable_downloadJdoMetadata> {}
+    public static class ActionDomainEvent extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Persistable_downloadJdoMetadata> {}
 
     @Action(
             domainEvent = ActionDomainEvent.class,
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/objectadapter/ObjectAdapterContext.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/objectadapter/ObjectAdapterContext.java
index 9a68cd1..08b5fc8 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/objectadapter/ObjectAdapterContext.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/objectadapter/ObjectAdapterContext.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.internal.assertions._Assert;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.persistence.jdo.datanucleus5.persistence.IsisPersistenceSessionJdo;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.metamodel.adapter.oid.Oid;
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/IsisPersistenceSessionJdoBase.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/IsisPersistenceSessionJdoBase.java
index d00a6ed..796722e 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/IsisPersistenceSessionJdoBase.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/IsisPersistenceSessionJdoBase.java
@@ -35,7 +35,8 @@ import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.applib.services.user.UserService;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryProcessor;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.oid.Oid;
 import org.apache.isis.metamodel.commons.ToString;
 import org.apache.isis.metamodel.spec.ManagedObject;
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java
index 11a8c70..34ae594 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSession5.java
@@ -49,7 +49,14 @@ import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.commons.exceptions.IsisException;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.commands.DataNucleusCreateObjectCommand;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.commands.DataNucleusDeleteObjectCommand;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.queries.PersistenceQueryProcessor;
+import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.persistence.spi.JdoObjectIdSerializer;
+import org.apache.isis.persistence.jdo.datanucleus5.objectadapter.ObjectAdapterContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.adapter.oid.ObjectNotFoundException;
 import org.apache.isis.metamodel.adapter.oid.Oid;
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSessionFactory5.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSessionFactory5.java
index ccb713a..1013248 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSessionFactory5.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/persistence/PersistenceSessionFactory5.java
@@ -39,7 +39,7 @@ import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.DataNucleusSetti
 import org.apache.isis.persistence.jdo.datanucleus5.datanucleus.JDOStateManagerForIsis;
 import org.apache.isis.persistence.jdo.datanucleus5.entities.JdoEntityTypeRegistry;
 import org.apache.isis.persistence.jdo.datanucleus5.lifecycles.JdoStoreLifecycleListenerForIsis;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.runtime.persistence.FixturesInstalledState;
 import org.apache.isis.runtime.persistence.FixturesInstalledStateHolder;
 import org.apache.isis.runtime.system.persistence.PersistenceSession;
diff --git a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/version/JdoVersionAnnotationFacetFactoryTest_refineMetaModel.java b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/version/JdoVersionAnnotationFacetFactoryTest_refineMetaModel.java
index 14a0984..331aa72 100644
--- a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/version/JdoVersionAnnotationFacetFactoryTest_refineMetaModel.java
+++ b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/version/JdoVersionAnnotationFacetFactoryTest_refineMetaModel.java
@@ -20,7 +20,6 @@ package org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.ver
 
 import javax.jdo.annotations.Version;
 
-import org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory;
 import org.jmock.Expectations;
 import org.jmock.Sequence;
 import org.junit.Before;
@@ -28,7 +27,7 @@ import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.isis.applib.Identifier;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facets.all.deficiencies.DeficiencyFacet;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
 import org.apache.isis.metamodel.specloader.validator.MetaModelValidator;
diff --git a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
index cfb20af..8fccc17 100644
--- a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
+++ b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject.java
@@ -38,7 +38,7 @@ import org.apache.isis.applib.services.wrapper.DisabledException;
 import org.apache.isis.applib.services.wrapper.HiddenException;
 import org.apache.isis.applib.services.wrapper.InvalidException;
 import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.facetapi.FacetUtil;
 import org.apache.isis.metamodel.facets.FacetedMethod;
diff --git a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
index 75ca4dc..812fe9a 100644
--- a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
+++ b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefaultTest_wrappedObject_transient.java
@@ -40,7 +40,7 @@ import org.apache.isis.applib.services.wrapper.events.PropertyModifyEvent;
 import org.apache.isis.applib.services.wrapper.events.PropertyUsabilityEvent;
 import org.apache.isis.applib.services.wrapper.events.PropertyVisibilityEvent;
 import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.consent.Allow;
 import org.apache.isis.metamodel.consent.Consent;
diff --git a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/system/ObjectMemberAbstractTest.java b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/system/ObjectMemberAbstractTest.java
index 4b801a9..8574928 100644
--- a/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/system/ObjectMemberAbstractTest.java
+++ b/core/persistence/jdo/datanucleus-5/src/test/java/org/apache/isis/runtime/system/ObjectMemberAbstractTest.java
@@ -27,7 +27,7 @@ import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.metamodel.adapter.oid.Oid.Factory;
diff --git a/core/pom.xml b/core/pom.xml
index e451634..cbc20d5 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -849,7 +849,7 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
-				<artifactId>isis-security</artifactId>
+				<artifactId>isis-security-api</artifactId>
 				<version>2.0.0-M3-SNAPSHOT</version>
 			</dependency>
 			<dependency>
diff --git a/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisExtHsqldbMgrModule.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java
similarity index 86%
copy from extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisExtHsqldbMgrModule.java
copy to core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java
index 5d71d5f1..c654f3f 100644
--- a/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisExtHsqldbMgrModule.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisModuleRuntimeServices.java
@@ -16,18 +16,18 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.hsqldbmgr.dom;
+package org.apache.isis.runtime.services;
 
-import org.apache.isis.webapp.IsisBootWebApp;
+import org.apache.isis.runtime.IsisModuleRuntime;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        IsisBootWebApp.class
+        IsisModuleRuntime.class,
 })
 @ComponentScan
-public class IsisExtHsqldbMgrModule {
+public class IsisModuleRuntimeServices {
 
 }
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisRuntimeServicesModule.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisRuntimeServicesModule.java
deleted file mode 100644
index 0c258a3..0000000
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/IsisRuntimeServicesModule.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.runtime.services;
-
-import org.apache.isis.config.IsisConfigModule;
-import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
-import org.apache.isis.runtime.IsisRuntimeModule;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-@Configuration
-@Import({
-        IsisRuntimeModule.class,
-})
-@ComponentScan
-public class IsisRuntimeServicesModule {
-
-}
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePoMenu.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePoMenu.java
index 78ffc81..ba08593 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePoMenu.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePoMenu.java
@@ -20,7 +20,7 @@ package org.apache.isis.runtime.services.i18n.po;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -42,7 +42,7 @@ import org.apache.isis.applib.value.Clob;
         )
 public class TranslationServicePoMenu {
 
-    public static abstract class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<TranslationServicePoMenu> {}
+    public static abstract class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<TranslationServicePoMenu> {}
 
     // //////////////////////////////////////
 
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java
index da87dc5..48a62fa 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/menubars/bootstrap3/MenuBarsServiceBS3.java
@@ -46,7 +46,7 @@ import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacet;
 import org.apache.isis.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.metamodel.facets.members.order.MemberOrderFacet;
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault.java
index 526a548..7ca49b2 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/WrapperFactoryDefault.java
@@ -58,7 +58,7 @@ import org.apache.isis.applib.services.wrapper.listeners.InteractionListener;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.security.api.authentication.AuthenticationSessionProvider;
 import org.apache.isis.runtime.services.wrapper.dispatchers.InteractionEventDispatcher;
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java
index d6107a9..3c89374 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -42,7 +42,7 @@ import org.apache.isis.applib.services.wrapper.events.UsabilityEvent;
 import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
 import org.apache.isis.applib.services.wrapper.events.VisibilityEvent;
 import org.apache.isis.commons.internal.collections._Arrays;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.metamodel.consent.InteractionResult;
 import org.apache.isis.metamodel.facets.ImperativeFacet;
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/ProxyContextHandler.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/ProxyContextHandler.java
index 8a07931..3c678c1 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/ProxyContextHandler.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/wrapper/handlers/ProxyContextHandler.java
@@ -24,7 +24,7 @@ import java.util.EnumSet;
 import java.util.Map;
 
 import org.apache.isis.applib.services.wrapper.WrapperFactory.ExecutionMode;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.runtime.services.wrapper.proxy.ProxyCreator;
 
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/IsisRuntimeModule.java b/core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java
similarity index 89%
rename from core/runtime/src/main/java/org/apache/isis/runtime/IsisRuntimeModule.java
rename to core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java
index ed7afd0..f53b450 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/IsisRuntimeModule.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/IsisModuleRuntime.java
@@ -18,16 +18,16 @@
  */
 package org.apache.isis.runtime;
 
-import org.apache.isis.metamodel.IsisMetamodelModule;
+import org.apache.isis.metamodel.IsisModuleMetamodel;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        IsisMetamodelModule.class,
+        IsisModuleMetamodel.class,
 })
 @ComponentScan
-public class IsisRuntimeModule {
+public class IsisModuleRuntime {
 
 }
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContext.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContext.java
index 7e5bac0..798b2a9 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContext.java
@@ -21,7 +21,7 @@ package org.apache.isis.runtime.system.context.session;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.services.homepage.HomePageAction;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.security.api.authentication.AuthenticationSession;
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContextBase.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContextBase.java
index 5dee024..fc98adf 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContextBase.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/context/session/RuntimeContextBase.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.metamodel.services.homepage.HomePageAction;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSessionFactory.java
index 35b9d04..1c1fe18 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/PersistenceSessionFactory.java
@@ -18,7 +18,7 @@
  */
 package org.apache.isis.runtime.system.persistence;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.security.api.authentication.AuthenticationSession;
 
 public interface PersistenceSessionFactory {
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSession.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSession.java
index 73dff34..4ddd752 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSession.java
@@ -24,7 +24,7 @@ import java.util.Optional;
 import org.apache.isis.applib.services.xactn.TransactionId;
 import org.apache.isis.applib.services.xactn.TransactionState;
 import org.apache.isis.commons.internal.context._Context;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.commons.ToString;
 import org.apache.isis.runtime.system.context.session.RuntimeContextBase;
 import org.apache.isis.runtime.system.context.session.RuntimeEventService;
diff --git a/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactoryDefault.java b/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactoryDefault.java
index d14764e..4afbe9f 100644
--- a/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactoryDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/runtime/system/session/IsisSessionFactoryDefault.java
@@ -35,7 +35,7 @@ import org.apache.isis.commons.internal.concurrent._ConcurrentContext;
 import org.apache.isis.commons.internal.concurrent._ConcurrentTaskList;
 import org.apache.isis.commons.internal.context._Context;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.runtime.system.context.session.RuntimeEventService;
 import org.apache.isis.runtime.system.internal.IsisLocaleInitializer;
diff --git a/core/runtime/src/test/java/org/apache/isis/runtime/system/ObjectActionLayoutXmlDefaultTest.java b/core/runtime/src/test/java/org/apache/isis/runtime/system/ObjectActionLayoutXmlDefaultTest.java
index d762ef4..eaf1e7e 100644
--- a/core/runtime/src/test/java/org/apache/isis/runtime/system/ObjectActionLayoutXmlDefaultTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/runtime/system/ObjectActionLayoutXmlDefaultTest.java
@@ -26,7 +26,7 @@ import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.isis.applib.Identifier;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.facets.FacetedMethod;
 import org.apache.isis.metamodel.facets.all.named.NamedFacet;
diff --git a/core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java b/core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
similarity index 96%
copy from core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java
copy to core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
index bb6acf2..503c95d 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
@@ -22,7 +22,7 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
-public class IsisSchemaModule {
+public class IsisModuleSchema {
 
 
 }
diff --git a/core/security/api/pom.xml b/core/security/api/pom.xml
index 5f77511..df0767b 100644
--- a/core/security/api/pom.xml
+++ b/core/security/api/pom.xml
@@ -27,7 +27,7 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>isis-security</artifactId>
+    <artifactId>isis-security-api</artifactId>
     <name>Apache Isis Security - API</name>
 
     <properties>
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/package-info.java b/core/security/api/src/main/java/org/apache/isis/security/api/IsisModuleSecurityApi.java
similarity index 84%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/package-info.java
rename to core/security/api/src/main/java/org/apache/isis/security/api/IsisModuleSecurityApi.java
index 129535f..be238d1 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/package-info.java
+++ b/core/security/api/src/main/java/org/apache/isis/security/api/IsisModuleSecurityApi.java
@@ -16,8 +16,10 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
+package org.apache.isis.security.api;
 
-/**
- * Viewer API.
- */
-package org.apache.isis.runtime.viewer;
\ No newline at end of file
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleSecurityApi {
+}
diff --git a/core/security/bypass/pom.xml b/core/security/bypass/pom.xml
index 8faee5b..3075076 100644
--- a/core/security/bypass/pom.xml
+++ b/core/security/bypass/pom.xml
@@ -38,7 +38,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-security</artifactId>
+            <artifactId>isis-security-api</artifactId>
         </dependency>
         
         <dependency>
diff --git a/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisBootSecurityBypass.java b/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
similarity index 97%
rename from core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisBootSecurityBypass.java
rename to core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
index 2c314cc..6ba614e 100644
--- a/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisBootSecurityBypass.java
+++ b/core/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
@@ -41,7 +41,7 @@ import org.apache.isis.security.api.authorization.standard.Authorizor;
     AuthorizationManagerStandard.class,
     AuthenticationManagerStandard.class
 })
-public class IsisBootSecurityBypass {
+public class IsisModuleSecurityBypass {
 
     @Bean @Singleton
     public Authenticator authenticator() {
diff --git a/core/security/keycloak/pom.xml b/core/security/keycloak/pom.xml
index aa5a461..e88158d 100644
--- a/core/security/keycloak/pom.xml
+++ b/core/security/keycloak/pom.xml
@@ -55,7 +55,7 @@
     
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-security</artifactId>
+            <artifactId>isis-security-api</artifactId>
         </dependency>
 
         <dependency>
diff --git a/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisBootSecurityKeycloak.java b/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
similarity index 97%
rename from core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisBootSecurityKeycloak.java
rename to core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
index e4268b2..da52a6f 100644
--- a/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisBootSecurityKeycloak.java
+++ b/core/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
@@ -43,7 +43,7 @@ import org.apache.isis.security.api.authorization.standard.Authorizor;
     AuthenticationManagerStandard.class,
     WebModuleKeycloak.class
 })
-public class IsisBootSecurityKeycloak {
+public class IsisModuleSecurityKeycloak {
 
     @Bean @Singleton
     public Authenticator authenticator() {
diff --git a/core/security/shiro/pom.xml b/core/security/shiro/pom.xml
index 5724c9a..059b9ee 100644
--- a/core/security/shiro/pom.xml
+++ b/core/security/shiro/pom.xml
@@ -55,7 +55,7 @@
     
         <dependency>
             <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-security</artifactId>
+            <artifactId>isis-security-api</artifactId>
         </dependency>
 
         <dependency>
diff --git a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisBootSecurityShiro.java b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
similarity index 98%
rename from core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisBootSecurityShiro.java
rename to core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
index 2996ca4..8f0e27a 100644
--- a/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisBootSecurityShiro.java
+++ b/core/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
@@ -42,7 +42,7 @@ import org.apache.isis.security.shiro.authorization.ShiroAuthorizor;
     AuthenticationManagerStandard.class,
     WebModuleShiro.class
 })
-public class IsisBootSecurityShiro {
+public class IsisModuleSecurityShiro {
 
     @Bean @Singleton
     public Authenticator authenticator() {
diff --git a/core/testsupport/integtestsupport/pom.xml b/core/testsupport/integtestsupport/pom.xml
index 2be8f26..af793bd 100644
--- a/core/testsupport/integtestsupport/pom.xml
+++ b/core/testsupport/integtestsupport/pom.xml
@@ -138,7 +138,7 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-security</artifactId>
+			<artifactId>isis-security-api</artifactId>
 		</dependency>
 		
 		<dependency>
diff --git a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/IsisModuleRestfulObjectsApplib.java b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/IsisModuleRestfulObjectsApplib.java
new file mode 100644
index 0000000..540d534
--- /dev/null
+++ b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/IsisModuleRestfulObjectsApplib.java
@@ -0,0 +1,7 @@
+package org.apache.isis.viewer.restfulobjects.applib;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleRestfulObjectsApplib {
+}
diff --git a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
new file mode 100644
index 0000000..b725360
--- /dev/null
+++ b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
@@ -0,0 +1,7 @@
+package org.apache.isis.viewer.restfulobjects.jaxrsresteasy4;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleRestfulObjectsJaxrsResteasy4 {
+}
diff --git a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
index de96120..a9ca5e2 100644
--- a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
+++ b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
@@ -25,7 +25,7 @@ import javax.ws.rs.core.MediaType;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
diff --git a/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java
new file mode 100644
index 0000000..568fd75
--- /dev/null
+++ b/core/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.java
@@ -0,0 +1,7 @@
+package org.apache.isis.viewer.restfulobjects.rendering;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleRestfulObjectsRendering {
+}
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisBootViewerRestfulObjects.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
similarity index 90%
rename from core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisBootViewerRestfulObjects.java
rename to core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
index 5c98b0d..02d8369 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisBootViewerRestfulObjects.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
@@ -23,7 +23,7 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
-import org.apache.isis.webapp.IsisBootWebApp;
+import org.apache.isis.webapp.IsisModuleWebapp;
 
 /**
  * 
@@ -31,9 +31,9 @@ import org.apache.isis.webapp.IsisBootWebApp;
  */
 @Configuration
 @Import({
-    IsisBootWebApp.class
+    IsisModuleWebapp.class
 })
 @ComponentScan
-public class IsisBootViewerRestfulObjects {
+public class IsisModuleRestfulObjectsViewer {
 
 }
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
index 2c6e8bd..fe17578 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
@@ -35,7 +35,7 @@ import javax.ws.rs.ext.Providers;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Sets;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.oid.Oid;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.metamodel.spec.ManagedObject;
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
index 43c7a45..eb53563 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
@@ -33,7 +33,7 @@ import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.CommandContext;
 import org.apache.isis.commons.internal.url.UrlDecoderUtil;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
diff --git a/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java b/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
index be987b1..7a71b53 100644
--- a/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
+++ b/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
@@ -27,7 +27,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 
-import org.apache.isis.viewer.restfulobjects.viewer.context.ResourceContext;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
@@ -37,7 +36,7 @@ import org.springframework.web.context.WebApplicationContext;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.runtime.system.persistence.PersistenceSession;
diff --git a/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java b/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
index 4a6ed23..921ea1e 100644
--- a/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
+++ b/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
@@ -24,7 +24,6 @@ import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.HttpHeaders;
 
-import org.apache.isis.viewer.restfulobjects.viewer.context.ResourceContext;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;
@@ -35,7 +34,7 @@ import org.springframework.web.context.WebApplicationContext;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.url.UrlDecoderUtil;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.runtime.system.persistence.PersistenceSession;
diff --git a/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java
new file mode 100644
index 0000000..f5fd67d
--- /dev/null
+++ b/core/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/IsisModuleWicketModel.java
@@ -0,0 +1,7 @@
+package org.apache.isis.viewer.wicket.model;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleWicketModel {
+}
diff --git a/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/EntityModel_hintsTest.java b/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/EntityModel_hintsTest.java
index fbce9a5..85ca37e 100644
--- a/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/EntityModel_hintsTest.java
+++ b/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/EntityModel_hintsTest.java
@@ -27,7 +27,7 @@ import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.webapp.context.IsisWebAppCommonContext;
diff --git a/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/ScalarModel_isScalarSubtypingAnyOf_Test.java b/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/ScalarModel_isScalarSubtypingAnyOf_Test.java
index 65c5e4f..5717803 100644
--- a/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/ScalarModel_isScalarSubtypingAnyOf_Test.java
+++ b/core/viewers/wicket/model/src/test/java/org/apache/isis/viewer/wicket/model/models/ScalarModel_isScalarSubtypingAnyOf_Test.java
@@ -24,7 +24,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java
new file mode 100644
index 0000000..da821a9
--- /dev/null
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/IsisModuleWicketUi.java
@@ -0,0 +1,7 @@
+package org.apache.isis.viewer.wicket.ui;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleWicketUi {
+}
diff --git a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelBase.java b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelBase.java
index 211366b..4d847e3 100644
--- a/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelBase.java
+++ b/core/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelBase.java
@@ -27,7 +27,7 @@ import org.apache.wicket.model.IModel;
 
 import org.apache.isis.applib.services.i18n.LocaleProvider;
 import org.apache.isis.applib.services.i18n.TranslationService;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.security.api.authentication.MessageBroker;
 import org.apache.isis.viewer.wicket.model.common.CommonContextUtils;
diff --git a/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstractTest_init.java b/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstractTest_init.java
index ec44a59..68aaae7 100644
--- a/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstractTest_init.java
+++ b/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstractTest_init.java
@@ -25,7 +25,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.webapp.context.IsisWebAppCommonContext;
 
diff --git a/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionContentsSelectorDropdownPanelTest.java b/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionContentsSelectorDropdownPanelTest.java
index 63bfaed..10d2cf3 100644
--- a/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionContentsSelectorDropdownPanelTest.java
+++ b/core/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionContentsSelectorDropdownPanelTest.java
@@ -26,7 +26,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisBootViewerWicket.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java
similarity index 91%
rename from core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisBootViewerWicket.java
rename to core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java
index 1a2d09a..4dd431a 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisBootViewerWicket.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisModuleWicketViewer.java
@@ -24,7 +24,7 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 import org.apache.isis.viewer.wicket.ui.components.widgets.themepicker.IsisWicketThemeSupportDefault;
-import org.apache.isis.webapp.IsisBootWebApp;
+import org.apache.isis.webapp.IsisModuleWebapp;
 
 /**
  * 
@@ -32,10 +32,10 @@ import org.apache.isis.webapp.IsisBootWebApp;
  */
 @Configuration
 @Import({
-    IsisBootWebApp.class,
+    IsisModuleWebapp.class,
     IsisWicketThemeSupportDefault.class
 })
 @ComponentScan
-public class IsisBootViewerWicket {
+public class IsisModuleWicketViewer {
 
 }
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
index 7816928..bbc7e87 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistryDefault.java
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Service;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Multimaps;
 import org.apache.isis.commons.internal.collections._Multimaps.ListMultimap;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory.ApplicationAdvice;
 import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
diff --git a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
index 6d0d955..75c34d5 100644
--- a/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
+++ b/core/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication.java
@@ -67,7 +67,7 @@ import org.apache.isis.commons.internal.concurrent._ConcurrentContext;
 import org.apache.isis.commons.internal.concurrent._ConcurrentTaskList;
 import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.runtime.memento.ObjectAdapterMemento;
 import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
diff --git a/core/webapp/src/main/java/org/apache/isis/webapp/IsisBootWebApp.java b/core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java
similarity index 97%
rename from core/webapp/src/main/java/org/apache/isis/webapp/IsisBootWebApp.java
rename to core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java
index d07e2fc..05f9a09 100644
--- a/core/webapp/src/main/java/org/apache/isis/webapp/IsisBootWebApp.java
+++ b/core/webapp/src/main/java/org/apache/isis/webapp/IsisModuleWebapp.java
@@ -38,6 +38,6 @@ import org.apache.isis.webapp.modules.templresources.WebModuleTemplateResources;
     WebModuleTemplateResources.class,
 
 })
-public class IsisBootWebApp {
+public class IsisModuleWebapp {
 
 }
diff --git a/core/webapp/src/main/java/org/apache/isis/webapp/context/IsisWebAppCommonContext.java b/core/webapp/src/main/java/org/apache/isis/webapp/context/IsisWebAppCommonContext.java
index 0b19630..73856cb 100644
--- a/core/webapp/src/main/java/org/apache/isis/webapp/context/IsisWebAppCommonContext.java
+++ b/core/webapp/src/main/java/org/apache/isis/webapp/context/IsisWebAppCommonContext.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.menu.MenuBarsService;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.MetaModelContext;
+import org.apache.isis.metamodel.context.MetaModelContext;
 import org.apache.isis.metamodel.adapter.oid.RootOid;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.specloader.SpecificationLoader;
diff --git a/core/webboot-springboot/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java b/core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java
similarity index 79%
rename from core/webboot-springboot/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java
rename to core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java
index bebaa40..d5525b1 100644
--- a/core/webboot-springboot/src/main/java/org/apache/isis/runtime/spring/IsisBoot.java
+++ b/core/webboot-springboot/src/main/java/org/apache/isis/webboot/springboot/IsisModuleSpringBoot.java
@@ -16,21 +16,16 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.runtime.spring;
+package org.apache.isis.webboot.springboot;
 
 import javax.inject.Singleton;
 
-import org.apache.isis.applib.IsisApplibModule;
-import org.apache.isis.config.IsisConfigModule;
 import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
-import org.apache.isis.metamodel.IsisMetamodelModule;
-import org.apache.isis.runtime.IsisRuntimeModule;
-import org.apache.isis.runtime.services.IsisRuntimeServicesModule;
+import org.apache.isis.runtime.services.IsisModuleRuntimeServices;
 import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.core.OrderComparator;
@@ -39,9 +34,9 @@ import org.springframework.core.annotation.AnnotationAwareOrderComparator;
 @Configuration
 @Import({
     IsisBeanFactoryPostProcessorForSpring.class,
-    IsisRuntimeServicesModule.class,
+    IsisModuleRuntimeServices.class,
 })
-public class IsisBoot implements ApplicationContextAware {
+public class IsisModuleSpringBoot implements ApplicationContextAware {
 
     @Override
     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
diff --git a/examples/demo/src/main/java/demoapp/application/DemoAppManifest.java b/examples/demo/src/main/java/demoapp/application/DemoAppManifest.java
index de386db..7850472 100644
--- a/examples/demo/src/main/java/demoapp/application/DemoAppManifest.java
+++ b/examples/demo/src/main/java/demoapp/application/DemoAppManifest.java
@@ -20,6 +20,7 @@ package demoapp.application;
 
 import javax.inject.Singleton;
 
+import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsViewer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
@@ -28,20 +29,19 @@ import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 
 import org.apache.isis.config.presets.IsisPresets;
-import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
+import org.apache.isis.extensions.fixtures.IsisModuleExtFixtures;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationService;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationServiceAllowBeatsVeto;
-import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisBootSecmanEncryptionJbcrypt;
-import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
-import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
-import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
+import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleSecmanEncryptionJbcrypt;
+import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
+import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
+import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
 import org.apache.isis.extensions.sse.IsisBootSse;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.shiro.IsisBootSecurityShiro;
-import org.apache.isis.viewer.restfulobjects.viewer.IsisBootViewerRestfulObjects;
-import org.apache.isis.viewer.wicket.viewer.IsisBootViewerWicket;
+import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.webboot.springboot.IsisModuleSpringBoot;
+import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
+import org.apache.isis.viewer.wicket.viewer.IsisModuleWicketViewer;
 
 import demoapp.dom.DemoModule;
 import demoapp.utils.LibraryPreloadingService;
@@ -56,20 +56,20 @@ import demoapp.utils.LibraryPreloadingService;
     @PropertySource(IsisPresets.SilenceWicket),
 })
 @Import({
-    IsisBoot.class,
-    IsisBootSecurityShiro.class,
-    IsisBootDataNucleus.class,
-    IsisBootViewerWicket.class,
+    IsisModuleSpringBoot.class,
+    IsisModuleSecurityShiro.class,
+    IsisModuleJdoDataNucleus5.class,
+    IsisModuleWicketViewer.class,
     IsisBootSse.class, // server sent events
-    IsisBootViewerRestfulObjects.class,
+    IsisModuleRestfulObjectsViewer.class,
 
     // Security Manager Extension (secman)
-    IsisBootSecmanModel.class,
-    IsisBootSecmanRealmShiro.class,
-    IsisBootSecmanPersistenceJdo.class,
-    IsisBootSecmanEncryptionJbcrypt.class,
+    IsisModuleSecmanModel.class,
+    IsisModuleSecmanRealmShiro.class,
+    IsisModuleSecmanPersistenceJdo.class,
+    IsisModuleSecmanEncryptionJbcrypt.class,
 
-    IsisExtFixturesModule.class,
+    IsisModuleExtFixtures.class,
     
     LibraryPreloadingService.class // just a performance enhancement
 
diff --git a/examples/demo/src/main/java/demoapp/utils/DemoStub.java b/examples/demo/src/main/java/demoapp/utils/DemoStub.java
index b97752b..cfaf0ce 100644
--- a/examples/demo/src/main/java/demoapp/utils/DemoStub.java
+++ b/examples/demo/src/main/java/demoapp/utils/DemoStub.java
@@ -28,7 +28,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.extensions.asciidoc.AsciiDoc;
+import org.apache.isis.extensions.asciidoc.applib.value.AsciiDoc;
 
 import lombok.val;
 
diff --git a/examples/demo/src/main/java/demoapp/utils/LibraryPreloadingService.java b/examples/demo/src/main/java/demoapp/utils/LibraryPreloadingService.java
index 54ded61..7dd4a32 100644
--- a/examples/demo/src/main/java/demoapp/utils/LibraryPreloadingService.java
+++ b/examples/demo/src/main/java/demoapp/utils/LibraryPreloadingService.java
@@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.commons.internal.concurrent._ConcurrentContext;
 import org.apache.isis.commons.internal.concurrent._ConcurrentTaskList;
-import org.apache.isis.extensions.asciidoc.AsciiDoc;
+import org.apache.isis.extensions.asciidoc.applib.value.AsciiDoc;
 
 import lombok.val;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java
index af0a1d7..72fcf3a 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_headless.java
@@ -37,15 +37,15 @@ import org.apache.isis.applib.services.xactn.TransactionId;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.applib.services.xactn.TransactionState;
 import org.apache.isis.config.presets.IsisPresets;
-import org.apache.isis.extensions.incubator.IsisBootIncubator;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.bypass.IsisBootSecurityBypass;
+import org.apache.isis.incubator.model.metamodel.IsisModuleIncModelMetaModel;
+import org.apache.isis.webboot.springboot.IsisModuleSpringBoot;
+import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
 
 @Configuration
 @Import({
-    IsisBoot.class,
-    IsisBootSecurityBypass.class,
-    IsisBootIncubator.class // @Model support
+    IsisModuleSpringBoot.class,
+    IsisModuleSecurityBypass.class,
+    IsisModuleIncModelMetaModel.class // @Model support
 })
 @PropertySources({
     @PropertySource(IsisPresets.NoTranslations),
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java
index e00f212..3247120 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdo.java
@@ -25,18 +25,18 @@ import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 
 import org.apache.isis.config.presets.IsisPresets;
-import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.bypass.IsisBootSecurityBypass;
+import org.apache.isis.extensions.fixtures.IsisModuleExtFixtures;
+import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.webboot.springboot.IsisModuleSpringBoot;
+import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
 import org.apache.isis.testdomain.jdo.JdoTestDomainModule;
 
 @Configuration
 @Import({
-    IsisBoot.class,
-    IsisBootSecurityBypass.class,
-    IsisBootDataNucleus.class,
-    IsisExtFixturesModule.class
+    IsisModuleSpringBoot.class,
+    IsisModuleSecurityBypass.class,
+    IsisModuleJdoDataNucleus5.class,
+    IsisModuleExtFixtures.class
 })
 @ComponentScan(
         basePackageClasses= {               
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java
index 17041cb..7ba671d 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingJdoAndShiro.java
@@ -28,23 +28,23 @@ import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 
 import org.apache.isis.config.presets.IsisPresets;
-import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
+import org.apache.isis.extensions.fixtures.IsisModuleExtFixtures;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationService;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationServiceAllowBeatsVeto;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisBootDataNucleus;
-import org.apache.isis.runtime.spring.IsisBoot;
-import org.apache.isis.security.shiro.IsisBootSecurityShiro;
+import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.webboot.springboot.IsisModuleSpringBoot;
+import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
 import org.apache.isis.testdomain.jdo.JdoTestDomainModule;
 
 @Configuration
 @Import({
-    IsisBoot.class,
+    IsisModuleSpringBoot.class,
 
-    IsisBootSecurityShiro.class,
+    IsisModuleSecurityShiro.class,
 
-    IsisBootDataNucleus.class,
-    IsisExtFixturesModule.class
+    IsisModuleJdoDataNucleus5.class,
+    IsisModuleExtFixtures.class
 })
 @ComponentScan(
         basePackageClasses= {               
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedActionSupport.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedActionSupport.java
index 550ed32..a5b88da 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedActionSupport.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedActionSupport.java
@@ -19,7 +19,7 @@
 package org.apache.isis.testdomain.model.bad;
 
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Nature;
 
 @DomainObject(nature = Nature.VIEW_MODEL)
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedCollectionSupport.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedCollectionSupport.java
index b4bbe29..6a15f99 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedCollectionSupport.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedCollectionSupport.java
@@ -19,7 +19,7 @@
 package org.apache.isis.testdomain.model.bad;
 
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Nature;
 
 @DomainObject(nature = Nature.VIEW_MODEL)
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedPropertySupport.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedPropertySupport.java
index 8b71879..3f29a80 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedPropertySupport.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/InvalidOrphanedPropertySupport.java
@@ -19,7 +19,7 @@
 package org.apache.isis.testdomain.model.bad;
 
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Nature;
 
 @DomainObject(nature = Nature.VIEW_MODEL)
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport.java
index 4380ff3..0bda640 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport.java
@@ -21,7 +21,7 @@ package org.apache.isis.testdomain.model.good;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 
 @DomainObject(nature = Nature.VIEW_MODEL)
 public class ProperActionSupport {
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_action.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_action.java
index e3125ac..1985099 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_action.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_action.java
@@ -20,7 +20,7 @@ package org.apache.isis.testdomain.model.good;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 
 import lombok.RequiredArgsConstructor;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection.java
index 00e6457..e870236 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection.java
@@ -23,7 +23,7 @@ import java.util.List;
 
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.CollectionLayout;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 
 import lombok.RequiredArgsConstructor;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection2.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection2.java
index 72b3db1..6344cdf 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection2.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_collection2.java
@@ -24,7 +24,7 @@ import java.util.List;
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.CollectionLayout;
 import org.apache.isis.applib.annotation.Mixin;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 
 import lombok.RequiredArgsConstructor;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_mixin.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_mixin.java
index 8ef9564..cac6cf8 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_mixin.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_mixin.java
@@ -20,7 +20,7 @@ package org.apache.isis.testdomain.model.good;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.Mixin;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 
 import lombok.RequiredArgsConstructor;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property.java
index 71193db..2a83c38 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property.java
@@ -18,7 +18,7 @@
  */
 package org.apache.isis.testdomain.model.good;
 
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property2.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property2.java
index b41d6a9..09f4296 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property2.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperActionSupport_property2.java
@@ -19,7 +19,7 @@
 package org.apache.isis.testdomain.model.good;
 
 import org.apache.isis.applib.annotation.Mixin;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperCollectionSupport.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperCollectionSupport.java
index c989c36..7a93cd2 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperCollectionSupport.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperCollectionSupport.java
@@ -22,7 +22,7 @@ import java.util.List;
 
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Nature;
 
 import lombok.Getter;
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPrefixedMember.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPrefixedMember.java
index 4aa3ceb..2f5e01b 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPrefixedMember.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPrefixedMember.java
@@ -2,7 +2,7 @@ package org.apache.isis.testdomain.model.good;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.Property;
 
diff --git a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPropertySupport.java b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPropertySupport.java
index 3c88b22..5f592a3 100644
--- a/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPropertySupport.java
+++ b/examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperPropertySupport.java
@@ -19,7 +19,7 @@
 package org.apache.isis.testdomain.model.good;
 
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.Property;
 
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/AutoConfigurationTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/AutoConfigurationTest.java
index b56f025..851f08b 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/AutoConfigurationTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/bootstrapping/AutoConfigurationTest.java
@@ -33,7 +33,7 @@ import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
 import org.apache.isis.config.presets.IsisPresets;
 import org.apache.isis.config.beans.IsisBeanFactoryPostProcessorForSpring;
 import org.apache.isis.config.beans.IsisBeanTypeRegistryHolder;
-import org.apache.isis.metamodel.MetaModelContexts;
+import org.apache.isis.metamodel.context.MetaModelContexts;
 //import org.apache.isis.testdomain.Incubating;
 import org.apache.isis.testdomain.Smoketest;
 import org.apache.isis.testdomain.conf.Configuration_usingStereotypes;
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
index bd841bc..e1d5305 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java
@@ -24,7 +24,7 @@ import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.TestPropertySource;
 
-import org.apache.isis.config.IsisConfigModule;
+import org.apache.isis.config.IsisModuleConfig;
 import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.testdomain.Smoketest;
 
@@ -34,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @Smoketest
 @SpringBootTest(
         classes = { 
-                IsisConfigModule.class
+                IsisModuleConfig.class
         }, 
         properties = {
                 "logging.config=log4j2-test.xml",
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java
index bec2428..4808357 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java
@@ -34,7 +34,7 @@ import org.springframework.context.annotation.Import;
 
 import org.apache.isis.testdomain.conf.Configuration_usingJdo;
 import org.apache.isis.testdomain.jdo.Book;
-import org.apache.isis.viewer.restfulobjects.viewer.IsisBootViewerRestfulObjects;
+import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsViewer;
 
 import lombok.val;
 
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java
index b983a71..bc71e31 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdapTest.java
@@ -37,10 +37,10 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
 import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
-import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisBootSecmanEncryptionJbcrypt;
-import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
-import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
-import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
+import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleSecmanEncryptionJbcrypt;
+import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
+import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
+import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
 import org.apache.isis.testdomain.Incubating;
 import org.apache.isis.testdomain.Smoketest;
 import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
@@ -73,10 +73,10 @@ import lombok.val;
     LdapServerService.class,
 
     // Security Manager Extension (secman)
-    IsisBootSecmanModel.class,
-    IsisBootSecmanRealmShiro.class,
-    IsisBootSecmanPersistenceJdo.class,
-    IsisBootSecmanEncryptionJbcrypt.class,
+    IsisModuleSecmanModel.class,
+    IsisModuleSecmanRealmShiro.class,
+    IsisModuleSecmanPersistenceJdo.class,
+    IsisModuleSecmanEncryptionJbcrypt.class,
 })
 @Incubating("does not work with surefire")
 class ShiroSecmanLdapTest extends AbstractShiroTest {
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
index c0e425c..c6f4de3 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanLdap_restfulStressTest.java
@@ -33,10 +33,10 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
 import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
-import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisBootSecmanEncryptionJbcrypt;
-import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
-import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
-import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
+import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleSecmanEncryptionJbcrypt;
+import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
+import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
+import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
 import org.apache.isis.security.shiro.WebModuleShiro;
 import org.apache.isis.testdomain.Incubating;
 import org.apache.isis.testdomain.Smoketest;
@@ -44,7 +44,6 @@ import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
 import org.apache.isis.testdomain.jdo.JdoTestDomainPersona;
 import org.apache.isis.testdomain.ldap.LdapServerService;
 import org.apache.isis.testdomain.rest.RestEndpointService;
-import org.apache.isis.viewer.restfulobjects.viewer.IsisBootViewerRestfulObjects;
 
 import static java.time.Duration.ofMillis;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -77,10 +76,10 @@ import lombok.val;
     LdapServerService.class,
 
     // Security Manager Extension (secman)
-    IsisBootSecmanModel.class,
-    IsisBootSecmanRealmShiro.class,
-    IsisBootSecmanPersistenceJdo.class,
-    IsisBootSecmanEncryptionJbcrypt.class,
+    IsisModuleSecmanModel.class,
+    IsisModuleSecmanRealmShiro.class,
+    IsisModuleSecmanPersistenceJdo.class,
+    IsisModuleSecmanEncryptionJbcrypt.class,
 })
 @Incubating("does not work, when executed in sequence with other smoketests")
 class ShiroSecmanLdap_restfulStressTest extends AbstractShiroTest {
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java
index 43c8f38..341e0af 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/shiro/ShiroSecmanTest.java
@@ -32,10 +32,10 @@ import org.springframework.context.annotation.Import;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
-import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisBootSecmanEncryptionJbcrypt;
-import org.apache.isis.extensions.secman.jdo.IsisBootSecmanPersistenceJdo;
-import org.apache.isis.extensions.secman.model.IsisBootSecmanModel;
-import org.apache.isis.extensions.secman.shiro.IsisBootSecmanRealmShiro;
+import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleSecmanEncryptionJbcrypt;
+import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
+import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
+import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
 import org.apache.isis.testdomain.Incubating;
 import org.apache.isis.testdomain.Smoketest;
 import org.apache.isis.testdomain.conf.Configuration_usingJdoAndShiro;
@@ -57,10 +57,10 @@ import lombok.val;
         })
 @Import({
     // Security Manager Extension (secman)
-    IsisBootSecmanModel.class,
-    IsisBootSecmanRealmShiro.class,
-    IsisBootSecmanPersistenceJdo.class,
-    IsisBootSecmanEncryptionJbcrypt.class,
+    IsisModuleSecmanModel.class,
+    IsisModuleSecmanRealmShiro.class,
+    IsisModuleSecmanPersistenceJdo.class,
+    IsisModuleSecmanEncryptionJbcrypt.class,
 })
 @Incubating("does not work with surefire")
 class ShiroSecmanTest extends AbstractShiroTest {
diff --git a/extensions/core/spring/src/main/java/org/apache/isis/extensions/spring/ExtSpringModule.java b/extensions/core/spring/src/main/java/org/apache/isis/extensions/spring/IsisModuleExtSpring.java
similarity index 96%
rename from extensions/core/spring/src/main/java/org/apache/isis/extensions/spring/ExtSpringModule.java
rename to extensions/core/spring/src/main/java/org/apache/isis/extensions/spring/IsisModuleExtSpring.java
index 279232c..a978552 100644
--- a/extensions/core/spring/src/main/java/org/apache/isis/extensions/spring/ExtSpringModule.java
+++ b/extensions/core/spring/src/main/java/org/apache/isis/extensions/spring/IsisModuleExtSpring.java
@@ -26,6 +26,6 @@ import org.springframework.context.annotation.Import;
 @Import({
     SpringBeansService.class
 })
-public class ExtSpringModule {
+public class IsisModuleExtSpring {
 
 }
diff --git a/extensions/lib/base/impl/src/main/java/org/apache/isis/extensions/base/dom/IsisModuleExtBase.java b/extensions/lib/base/impl/src/main/java/org/apache/isis/extensions/base/dom/IsisModuleExtBase.java
new file mode 100644
index 0000000..09a17ce
--- /dev/null
+++ b/extensions/lib/base/impl/src/main/java/org/apache/isis/extensions/base/dom/IsisModuleExtBase.java
@@ -0,0 +1,7 @@
+package org.apache.isis.extensions.base.dom;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleExtBase {
+}
diff --git a/extensions/lib/excel/impl/src/main/java/org/apache/isis/extensions/excel/ExcelModule.java b/extensions/lib/excel/impl/src/main/java/org/apache/isis/extensions/excel/IsisModuleExtExcel.java
similarity index 85%
rename from extensions/lib/excel/impl/src/main/java/org/apache/isis/extensions/excel/ExcelModule.java
rename to extensions/lib/excel/impl/src/main/java/org/apache/isis/extensions/excel/IsisModuleExtExcel.java
index 0a70e8f..c3c2c09 100644
--- a/extensions/lib/excel/impl/src/main/java/org/apache/isis/extensions/excel/ExcelModule.java
+++ b/extensions/lib/excel/impl/src/main/java/org/apache/isis/extensions/excel/IsisModuleExtExcel.java
@@ -5,5 +5,5 @@ import org.springframework.context.annotation.Configuration;
 
 @Configuration
 @ComponentScan
-public class ExcelModule {
+public class IsisModuleExtExcel {
 }
diff --git a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/FakeDataFixturesModule.java b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java
similarity index 79%
rename from extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/FakeDataFixturesModule.java
rename to extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java
index e514b91..b0eb901 100644
--- a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/FakeDataFixturesModule.java
+++ b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java
@@ -2,7 +2,7 @@ package org.isisaddons.module.fakedata.fixture;
 
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
 import org.apache.isis.extensions.fixtures.modules.Module;
-import org.apache.isis.extensions.fakedata.FakeDataModule;
+import org.apache.isis.extensions.fakedata.dom.IsisModuleExtFakeData;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.fixturescripts.FakeDataDemoObjectWithAll_tearDown;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
@@ -10,10 +10,10 @@ import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        FakeDataModule.class
+        IsisModuleExtFakeData.class
 })
 @ComponentScan
-public class FakeDataFixturesModule implements Module {
+public class IsisModuleExtFakeDataFixtures implements Module {
 
     @Override public FixtureScript getTeardownFixture() {
         return new FakeDataDemoObjectWithAll_tearDown();
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java
index 905f201..4079bdb 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/FakeDataService.java
@@ -12,6 +12,7 @@ import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.extensions.fakedata.dom.types.*;
 
 @DomainService(nature = NatureOfService.DOMAIN)
 public class FakeDataService {
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/FakeDataModule.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisModuleExtFakeData.java
similarity index 71%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/FakeDataModule.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisModuleExtFakeData.java
index 285e318..d6fdadb 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/FakeDataModule.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisModuleExtFakeData.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata;
+package org.apache.isis.extensions.fakedata.dom;
 
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
@@ -6,6 +6,6 @@ import org.springframework.context.annotation.Import;
 
 @Configuration
 @ComponentScan
-public class FakeDataModule {
+public class IsisModuleExtFakeData {
 
 }
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Uuids.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Uuids.java
deleted file mode 100644
index 9f3c364..0000000
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Uuids.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.apache.isis.extensions.fakedata.dom;
-
-import java.util.UUID;
-
-public class Uuids extends AbstractRandomValueGenerator{
-
-    public Uuids(final FakeDataService fakeDataService) {
-        super(fakeDataService);
-    }
-
-    public UUID any() {
-        return UUID.randomUUID();
-    }
-}
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Addresses.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Addresses.java
similarity index 88%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Addresses.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Addresses.java
index 95d22eb..b0631ab 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Addresses.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Addresses.java
@@ -1,4 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
+
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Addresses extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/BigDecimals.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigDecimals.java
similarity index 74%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/BigDecimals.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigDecimals.java
index 4aedfe4..a685fc7 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/BigDecimals.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigDecimals.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.math.BigDecimal;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class BigDecimals extends AbstractRandomValueGenerator{
+public class BigDecimals extends AbstractRandomValueGenerator {
 
     public BigDecimals(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/BigIntegers.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigIntegers.java
similarity index 55%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/BigIntegers.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigIntegers.java
index 9f11f84..0c740f0 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/BigIntegers.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/BigIntegers.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.math.BigInteger;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class BigIntegers extends AbstractRandomValueGenerator{
+public class BigIntegers extends AbstractRandomValueGenerator {
 
     public BigIntegers(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Books.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Books.java
similarity index 67%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Books.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Books.java
index 34c95eb..f12bd48 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Books.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Books.java
@@ -1,4 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
+
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Books extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Booleans.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Booleans.java
similarity index 73%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Booleans.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Booleans.java
index 1430a25..3913c5a 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Booleans.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Booleans.java
@@ -1,4 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
+
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Booleans extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Bytes.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Bytes.java
similarity index 65%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Bytes.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Bytes.java
index 040aa32..861965d 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Bytes.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Bytes.java
@@ -1,8 +1,10 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Bytes extends AbstractRandomValueGenerator{
+public class Bytes extends AbstractRandomValueGenerator {
 
     public Bytes(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Chars.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Chars.java
similarity index 74%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Chars.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Chars.java
index c347185..4895df5 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Chars.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Chars.java
@@ -1,8 +1,10 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Chars extends AbstractRandomValueGenerator{
+public class Chars extends AbstractRandomValueGenerator {
 
     public Chars(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Collections.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Collections.java
similarity index 96%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Collections.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Collections.java
index c533087..07468ed 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Collections.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Collections.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.util.Collection;
 import java.util.List;
@@ -6,8 +6,10 @@ import java.util.concurrent.Callable;
 import java.util.function.Predicate;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Collections extends AbstractRandomValueGenerator{
+public class Collections extends AbstractRandomValueGenerator {
 
     public Collections(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Comms.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Comms.java
similarity index 79%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Comms.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Comms.java
index 1922bae..fb77280 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Comms.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Comms.java
@@ -1,4 +1,7 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
+
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Comms extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/CreditCards.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/CreditCards.java
similarity index 78%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/CreditCards.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/CreditCards.java
index b976866..ed0a125 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/CreditCards.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/CreditCards.java
@@ -1,7 +1,9 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import com.github.javafaker.service.FakeValuesService;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class CreditCards extends AbstractRandomValueGenerator {
 
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Doubles.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Doubles.java
similarity index 67%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Doubles.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Doubles.java
index 7f59fc3..e4e57d1 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Doubles.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Doubles.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Doubles extends AbstractRandomValueGenerator  {
+public class Doubles extends AbstractRandomValueGenerator {
 
     public Doubles(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Enums.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Enums.java
similarity index 57%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Enums.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Enums.java
index d7ff823..7321b51 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Enums.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Enums.java
@@ -1,8 +1,10 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Enums extends AbstractRandomValueGenerator{
+public class Enums extends AbstractRandomValueGenerator {
 
     public Enums(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Floats.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Floats.java
similarity index 53%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Floats.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Floats.java
index 2614a47..ff5890a 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Floats.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Floats.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Floats extends AbstractRandomValueGenerator{
+public class Floats extends AbstractRandomValueGenerator {
 
     public Floats(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Integers.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Integers.java
similarity index 67%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Integers.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Integers.java
index 788e932..e5fd161 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Integers.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Integers.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Integers extends AbstractRandomValueGenerator{
+public class Integers extends AbstractRandomValueGenerator {
 
     public Integers(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisBlobs.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisBlobs.java
similarity index 90%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisBlobs.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisBlobs.java
index 0f7c2c9..e4a9eb0 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisBlobs.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisBlobs.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.io.IOException;
 import java.net.URL;
@@ -8,11 +8,13 @@ import java.util.stream.Collectors;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.value.Blob;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
 
-public class IsisBlobs extends AbstractRandomValueGenerator{
+public class IsisBlobs extends AbstractRandomValueGenerator {
 
     public IsisBlobs(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisClobs.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisClobs.java
similarity index 92%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisClobs.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisClobs.java
index b7f06d5..be52086 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisClobs.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisClobs.java
@@ -1,4 +1,4 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.io.IOException;
 import java.net.URL;
@@ -11,8 +11,10 @@ import com.google.common.io.CharSource;
 import com.google.common.io.Resources;
 
 import org.apache.isis.applib.value.Clob;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class IsisClobs extends AbstractRandomValueGenerator{
+public class IsisClobs extends AbstractRandomValueGenerator {
 
     public IsisClobs(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisMoneys.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisMoneys.java
similarity index 57%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisMoneys.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisMoneys.java
index 98f8fe8..c0406ad 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisMoneys.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisMoneys.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.value.Money;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class IsisMoneys extends AbstractRandomValueGenerator{
+public class IsisMoneys extends AbstractRandomValueGenerator {
 
     public IsisMoneys(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisPasswords.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisPasswords.java
similarity index 54%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisPasswords.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisPasswords.java
index 6e06a81..c20bae1 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/IsisPasswords.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/IsisPasswords.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.value.Password;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class IsisPasswords extends AbstractRandomValueGenerator{
+public class IsisPasswords extends AbstractRandomValueGenerator {
 
     public IsisPasswords(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8DateTimes.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8DateTimes.java
similarity index 79%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8DateTimes.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8DateTimes.java
index 04def66..5658d86 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8DateTimes.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8DateTimes.java
@@ -1,11 +1,13 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.time.OffsetDateTime;
 import java.time.Period;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class J8DateTimes extends AbstractRandomValueGenerator{
+public class J8DateTimes extends AbstractRandomValueGenerator {
 
     public J8DateTimes(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8LocalDates.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8LocalDates.java
similarity index 76%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8LocalDates.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8LocalDates.java
index 38cb3a0..d44e50a 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8LocalDates.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8LocalDates.java
@@ -1,11 +1,13 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.time.LocalDate;
 import java.time.Period;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class J8LocalDates extends AbstractRandomValueGenerator{
+public class J8LocalDates extends AbstractRandomValueGenerator {
 
     public J8LocalDates(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8Periods.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8Periods.java
similarity index 80%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8Periods.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8Periods.java
index f6cee98..ea6d980 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/J8Periods.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/J8Periods.java
@@ -1,10 +1,12 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.time.Period;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class J8Periods extends AbstractRandomValueGenerator{
+public class J8Periods extends AbstractRandomValueGenerator {
 
     public J8Periods(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaSqlDates.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlDates.java
similarity index 69%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaSqlDates.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlDates.java
index e9fb44d..86a032b 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaSqlDates.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlDates.java
@@ -1,11 +1,13 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.sql.Date;
 import java.time.OffsetDateTime;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class JavaSqlDates extends AbstractRandomValueGenerator{
+public class JavaSqlDates extends AbstractRandomValueGenerator {
 
     public JavaSqlDates(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaSqlTimestamps.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlTimestamps.java
similarity index 68%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaSqlTimestamps.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlTimestamps.java
index acc061f..12937ed 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaSqlTimestamps.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaSqlTimestamps.java
@@ -1,10 +1,12 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.sql.Timestamp;
 import java.util.Date;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class JavaSqlTimestamps extends AbstractRandomValueGenerator{
+public class JavaSqlTimestamps extends AbstractRandomValueGenerator {
 
     public JavaSqlTimestamps(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaUtilDates.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaUtilDates.java
similarity index 63%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaUtilDates.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaUtilDates.java
index 5386855..bbbe391 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/JavaUtilDates.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/JavaUtilDates.java
@@ -1,12 +1,14 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.time.OffsetDateTime;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 import lombok.val;
 
-public class JavaUtilDates extends AbstractRandomValueGenerator{
+public class JavaUtilDates extends AbstractRandomValueGenerator {
 
     public JavaUtilDates(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Longs.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Longs.java
similarity index 53%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Longs.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Longs.java
index 8576aa8..6524976 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Longs.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Longs.java
@@ -1,9 +1,11 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Longs extends AbstractRandomValueGenerator{
+public class Longs extends AbstractRandomValueGenerator {
 
     public Longs(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Lorem.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Lorem.java
similarity index 82%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Lorem.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Lorem.java
index 8e6bf7f..2e6d7d1 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Lorem.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Lorem.java
@@ -1,7 +1,10 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.util.List;
 
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+
 public class Lorem extends AbstractRandomValueGenerator {
 
     com.github.javafaker.Lorem javaFakerLorem;
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Names.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Names.java
similarity index 80%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Names.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Names.java
index f19a273..ffb2575 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Names.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Names.java
@@ -1,6 +1,8 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
 public class Names extends AbstractRandomValueGenerator {
     com.github.javafaker.Name javaFakerName;
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Shorts.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Shorts.java
similarity index 66%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Shorts.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Shorts.java
index 2dca128..2bf2627 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Shorts.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Shorts.java
@@ -1,8 +1,10 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Shorts extends AbstractRandomValueGenerator{
+public class Shorts extends AbstractRandomValueGenerator {
 
     public Shorts(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Strings.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Strings.java
similarity index 76%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Strings.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Strings.java
index cceff10..f0daa2c 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Strings.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Strings.java
@@ -1,8 +1,10 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Strings extends AbstractRandomValueGenerator{
+public class Strings extends AbstractRandomValueGenerator {
 
     public Strings(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Urls.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Urls.java
similarity index 70%
rename from extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Urls.java
rename to extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Urls.java
index 036f1e9..8fc70df 100644
--- a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/Urls.java
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Urls.java
@@ -1,10 +1,12 @@
-package org.apache.isis.extensions.fakedata.dom;
+package org.apache.isis.extensions.fakedata.dom.types;
 
 import java.net.MalformedURLException;
 import java.net.URL;
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
 
-public class Urls extends AbstractRandomValueGenerator{
+public class Urls extends AbstractRandomValueGenerator {
 
     public Urls(final FakeDataService fakeDataService) {
         super(fakeDataService);
diff --git a/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Uuids.java b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Uuids.java
new file mode 100644
index 0000000..a578311
--- /dev/null
+++ b/extensions/lib/fakedata/impl/src/main/java/org/apache/isis/extensions/fakedata/dom/types/Uuids.java
@@ -0,0 +1,17 @@
+package org.apache.isis.extensions.fakedata.dom.types;
+
+import java.util.UUID;
+
+import org.apache.isis.extensions.fakedata.dom.AbstractRandomValueGenerator;
+import org.apache.isis.extensions.fakedata.dom.FakeDataService;
+
+public class Uuids extends AbstractRandomValueGenerator {
+
+    public Uuids(final FakeDataService fakeDataService) {
+        super(fakeDataService);
+    }
+
+    public UUID any() {
+        return UUID.randomUUID();
+    }
+}
diff --git a/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java b/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java
index 657ce78..46d32af 100644
--- a/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java
+++ b/extensions/lib/fakedata/impl/src/test/java/org/apache/isis/extensions/fakedata/dom/FakeDataServiceTest.java
@@ -14,6 +14,8 @@ import java.util.UUID;
 import java.util.function.Predicate;
 
 import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.extensions.fakedata.dom.types.IsisBlobs;
+import org.apache.isis.extensions.fakedata.dom.types.IsisClobs;
 import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
diff --git a/extensions/lib/unittestsupport/impl/src/main/java/org/apache/isis/extensions/unittestsupport/dom/IsisModuleExtUnitTestSupport.java b/extensions/lib/unittestsupport/impl/src/main/java/org/apache/isis/extensions/unittestsupport/dom/IsisModuleExtUnitTestSupport.java
new file mode 100644
index 0000000..fda6961
--- /dev/null
+++ b/extensions/lib/unittestsupport/impl/src/main/java/org/apache/isis/extensions/unittestsupport/dom/IsisModuleExtUnitTestSupport.java
@@ -0,0 +1,7 @@
+package org.apache.isis.extensions.unittestsupport.dom;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleExtUnitTestSupport {
+}
diff --git a/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/IsisExtH2ConsoleModule.java b/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/IsisModuleExtH2Console.java
similarity index 90%
rename from extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/IsisExtH2ConsoleModule.java
rename to extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/IsisModuleExtH2Console.java
index b886290..bf9a2a0 100644
--- a/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/IsisExtH2ConsoleModule.java
+++ b/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/IsisModuleExtH2Console.java
@@ -18,16 +18,16 @@
  */
 package org.apache.isis.extensions.h2console.dom;
 
-import org.apache.isis.webapp.IsisBootWebApp;
+import org.apache.isis.webapp.IsisModuleWebapp;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        IsisBootWebApp.class
+        IsisModuleWebapp.class
 })
 @ComponentScan
-public class IsisExtH2ConsoleModule {
+public class IsisModuleExtH2Console {
 
 }
diff --git a/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/services/H2ManagerMenu.java b/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/services/H2ManagerMenu.java
index 8bb5690..72786d6 100644
--- a/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/services/H2ManagerMenu.java
+++ b/extensions/persistence/h2console/src/main/java/org/apache/isis/extensions/h2console/dom/services/H2ManagerMenu.java
@@ -20,7 +20,7 @@ package org.apache.isis.extensions.h2console.dom.services;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -53,7 +53,7 @@ public class H2ManagerMenu {
     }
 
 
-    public static class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<H2ManagerMenu>{ 
+    public static class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<H2ManagerMenu>{
         private static final long serialVersionUID = 1L; }
 
     @Action(
diff --git a/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisExtHsqldbMgrModule.java b/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisModuleExtHsqldbMgr.java
similarity index 90%
rename from extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisExtHsqldbMgrModule.java
rename to extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisModuleExtHsqldbMgr.java
index 5d71d5f1..352e3e9 100644
--- a/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisExtHsqldbMgrModule.java
+++ b/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/IsisModuleExtHsqldbMgr.java
@@ -18,16 +18,16 @@
  */
 package org.apache.isis.extensions.hsqldbmgr.dom;
 
-import org.apache.isis.webapp.IsisBootWebApp;
+import org.apache.isis.webapp.IsisModuleWebapp;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        IsisBootWebApp.class
+        IsisModuleWebapp.class
 })
 @ComponentScan
-public class IsisExtHsqldbMgrModule {
+public class IsisModuleExtHsqldbMgr {
 
 }
diff --git a/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/services/HsqlDbManagerMenu.java b/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/services/HsqlDbManagerMenu.java
index 065d998..8f54aaa 100644
--- a/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/services/HsqlDbManagerMenu.java
+++ b/extensions/persistence/hsqldbmgr/src/main/java/org/apache/isis/extensions/hsqldbmgr/dom/services/HsqlDbManagerMenu.java
@@ -23,7 +23,7 @@ import javax.inject.Inject;
 import org.apache.isis.config.IsisConfiguration;
 import org.hsqldb.util.DatabaseManagerSwing;
 
-import org.apache.isis.applib.IsisApplibModule;
+import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
@@ -56,7 +56,7 @@ public class HsqlDbManagerMenu {
 
 
 
-    public static class ActionDomainEvent extends IsisApplibModule.ActionDomainEvent<HsqlDbManagerMenu> { }
+    public static class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<HsqlDbManagerMenu> { }
 
     @Action(
             semantics = SemanticsOf.SAFE,
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityModule.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java
similarity index 91%
rename from extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityModule.java
rename to extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java
index 200b36d..6ce8d5f 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityModule.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java
@@ -18,9 +18,10 @@
  */
 package org.apache.isis.extensions.secman.api;
 
-public final class SecurityModule {
+import org.springframework.context.annotation.Configuration;
 
-    private SecurityModule(){}
+@Configuration
+public class IsisModuleExtSecmanApi {
 
     public abstract static class ActionDomainEvent<S>
     extends org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java
index 466f942..f3ea016 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java
@@ -26,7 +26,7 @@ import java.util.List;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Multimaps;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureId;
 
 /**
@@ -42,11 +42,11 @@ public class ApplicationPermissionValueSet implements Serializable {
     private static final long serialVersionUID = 1L;
 
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationPermissionValueSet, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationPermissionValueSet, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationPermissionValueSet, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationPermissionValueSet, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationPermissionValueSet> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationPermissionValueSet> {}
 
 
 
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java
index 2ddfdcd..45feb81 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java
@@ -18,15 +18,15 @@
  */
 package org.apache.isis.extensions.secman.api.tenancy;
 
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 
 public interface ApplicationTenancy {
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationTenancy, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationTenancy, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationTenancy, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationTenancy, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationTenancy> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationTenancy> {}
 
 
 
diff --git a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisBootSecmanEncryptionJbcrypt.java b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleSecmanEncryptionJbcrypt.java
similarity index 87%
copy from extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisBootSecmanEncryptionJbcrypt.java
copy to extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleSecmanEncryptionJbcrypt.java
index 6278f2e..b323b08 100644
--- a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisBootSecmanEncryptionJbcrypt.java
+++ b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleSecmanEncryptionJbcrypt.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.extensions.secman.encryption.jbcrypt;
 
+import org.apache.isis.extensions.secman.encryption.jbcrypt.services.PasswordEncryptionServiceUsingJBcrypt;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
@@ -25,6 +26,6 @@ import org.springframework.context.annotation.Import;
 @Import({
     PasswordEncryptionServiceUsingJBcrypt.class
 })
-public class IsisBootSecmanEncryptionJbcrypt {
+public class IsisModuleSecmanEncryptionJbcrypt {
 
 }
diff --git a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/PasswordEncryptionServiceUsingJBcrypt.java b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java
similarity index 96%
rename from extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/PasswordEncryptionServiceUsingJBcrypt.java
rename to extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java
index 1d15e2a..f1f7e1d 100644
--- a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/PasswordEncryptionServiceUsingJBcrypt.java
+++ b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.secman.encryption.jbcrypt;
+package org.apache.isis.extensions.secman.encryption.jbcrypt.services;
 
 import org.mindrot.jbcrypt.BCrypt;
 import org.springframework.stereotype.Service;
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisBootSecmanModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleSecmanModel.java
similarity index 92%
rename from extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisBootSecmanModel.java
rename to extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleSecmanModel.java
index 2b1acb7..b165795 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisBootSecmanModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleSecmanModel.java
@@ -24,8 +24,8 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 @ComponentScan(
         basePackageClasses= {
-                IsisBootSecmanModel.class
+                IsisModuleSecmanModel.class
         })
-public class IsisBootSecmanModel {
+public class IsisModuleSecmanModel {
 
 }
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java
index 6cb7c04..91a6c47 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java
@@ -40,7 +40,7 @@ import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.ToString;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermission;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRepository;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeature;
@@ -60,11 +60,11 @@ import lombok.val;
 //)
 public abstract class ApplicationFeatureViewModel implements ViewModel {
 
-    public static abstract class PropertyDomainEvent<S extends ApplicationFeatureViewModel,T> extends SecurityModule.PropertyDomainEvent<S, T> {}
+    public static abstract class PropertyDomainEvent<S extends ApplicationFeatureViewModel,T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<S, T> {}
 
-    public static abstract class CollectionDomainEvent<S extends ApplicationFeatureViewModel,T> extends SecurityModule.CollectionDomainEvent<S, T> {}
+    public static abstract class CollectionDomainEvent<S extends ApplicationFeatureViewModel,T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<S, T> {}
 
-    public static abstract class ActionDomainEvent<S extends ApplicationFeatureViewModel> extends SecurityModule.ActionDomainEvent<S> {}
+    public static abstract class ActionDomainEvent<S extends ApplicationFeatureViewModel> extends IsisModuleExtSecmanApi.ActionDomainEvent<S> {}
 
 
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModels.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModels.java
index cb0a215..b0991a3 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModels.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModels.java
@@ -34,7 +34,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeature;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureRepositoryDefault;
 
@@ -49,11 +49,11 @@ import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureRepositoryDe
         )
 public class ApplicationFeatureViewModels  {
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationFeatureViewModels, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationFeatureViewModels, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationFeatureViewModels, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationFeatureViewModels, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationFeatureViewModels> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationFeatureViewModels> {}
 
     // -- ICON NAME
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java
index 7d80e81..5a2a54a 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java
@@ -31,7 +31,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermission;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureId;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureRepositoryDefault;
@@ -41,7 +41,7 @@ import lombok.RequiredArgsConstructor;
 @Mixin @RequiredArgsConstructor
 public class ApplicationPermission_feature {
 
-    public static class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationPermission_feature> {}
+    public static class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationPermission_feature> {}
 
     final ApplicationPermission holder;
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java
index f768d45..2cbb095 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java
@@ -35,7 +35,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.user.ApplicationUser;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeature;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureId;
@@ -48,7 +48,7 @@ import lombok.val;
 public class ApplicationUser_filterPermissions {
 
 
-    public static class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationUser_filterPermissions> {
+    public static class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationUser_filterPermissions> {
     }
 
     private final ApplicationUser holder;
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_permissions.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_permissions.java
index d9412a9..dbfc3cd 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_permissions.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_permissions.java
@@ -33,7 +33,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.user.ApplicationUser;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeature;
 import org.apache.isis.metamodel.services.appfeat.ApplicationFeatureRepositoryDefault;
@@ -44,7 +44,7 @@ import lombok.val;
 @Mixin @RequiredArgsConstructor
 public class ApplicationUser_permissions {
 
-    public static class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationUser_permissions> {}
+    public static class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationUser_permissions> {}
 
     private final ApplicationUser holder;
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java
index bbe2b2c..bb866dc 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java
@@ -31,7 +31,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.queryresultscache.QueryResultsCache;
 import org.apache.isis.applib.services.user.UserService;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.user.ApplicationUser;
 import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
 
@@ -44,11 +44,11 @@ import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
         )
 public class MeService {
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<MeService, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<MeService, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<MeService, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<MeService, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<MeService> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<MeService> {}
 
     // -- iconName
     public String iconName() {
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java
index 513527e..3d53175 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java
@@ -43,7 +43,7 @@ import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.ToString;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermission;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRepository;
@@ -74,11 +74,11 @@ import lombok.val;
 
 public class UserPermissionViewModel implements ViewModel {
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<UserPermissionViewModel, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<UserPermissionViewModel, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<UserPermissionViewModel, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<UserPermissionViewModel, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<UserPermissionViewModel> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<UserPermissionViewModel> {}
 
 
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationPermissionMenu.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationPermissionMenu.java
index 9e3e93e..0e8b1bd 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationPermissionMenu.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationPermissionMenu.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.RestrictTo;
 import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermission;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRepository;
 
@@ -44,11 +44,11 @@ import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRep
 public class ApplicationPermissionMenu {
 
     // -- domain event classes
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationPermissionMenu, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationPermissionMenu, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationPermissionMenu, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationPermissionMenu, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationPermissionMenu> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationPermissionMenu> {}
 
 
     // -- iconName
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java
index e6cd5d0..606c277 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java
@@ -32,7 +32,7 @@ import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.types.DescriptionType;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.role.ApplicationRole;
 import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
 
@@ -47,11 +47,11 @@ import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
 public class  ApplicationRoleMenu {
 
     // -- domain event classes
-    public static class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationRoleMenu, T> {}
+    public static class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationRoleMenu, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationRoleMenu, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationRoleMenu, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationRoleMenu> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationRoleMenu> {}
 
 
     // -- iconName
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/tenancy/ApplicationTenancyMenu.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/tenancy/ApplicationTenancyMenu.java
index 0de70fb..7c7f3bf 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/tenancy/ApplicationTenancyMenu.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/tenancy/ApplicationTenancyMenu.java
@@ -33,7 +33,7 @@ import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.RestrictTo;
 import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.tenancy.ApplicationTenancy;
 import org.apache.isis.extensions.secman.api.tenancy.ApplicationTenancyRepository;
 
@@ -48,11 +48,11 @@ import org.apache.isis.extensions.secman.api.tenancy.ApplicationTenancyRepositor
 public class ApplicationTenancyMenu {
 
     // -- domain event classes
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationTenancyMenu, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationTenancyMenu, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationTenancyMenu, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationTenancyMenu, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationTenancyMenu> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationTenancyMenu> {}
 
 
     // -- iconName
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/ApplicationUserMenu.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/ApplicationUserMenu.java
index 2c488c5..3d22f89 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/ApplicationUserMenu.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/ApplicationUserMenu.java
@@ -32,7 +32,7 @@ import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.value.Password;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.SecurityRealmCharacteristic;
 import org.apache.isis.extensions.secman.api.SecurityRealmService;
@@ -55,15 +55,15 @@ public class ApplicationUserMenu {
 
 
     public static abstract class PropertyDomainEvent<T> 
-    extends SecurityModule.PropertyDomainEvent<ApplicationUserMenu, T> {
+    extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationUserMenu, T> {
     }
 
     public static abstract class CollectionDomainEvent<T>
-    extends SecurityModule.CollectionDomainEvent<ApplicationUserMenu, T> {
+    extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationUserMenu, T> {
     }
 
     public static abstract class ActionDomainEvent 
-    extends SecurityModule.ActionDomainEvent<ApplicationUserMenu> {
+    extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationUserMenu> {
     }
 
     public static class FindUsersByNameDomainEvent
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/HasUsername_open.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/HasUsername_open.java
index 2c3189c..e569e57 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/HasUsername_open.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/user/HasUsername_open.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.annotation.Mixin;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.HasUsername;
 import org.apache.isis.applib.services.i18n.TranslatableString;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.user.ApplicationUser;
 import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
 
@@ -39,7 +39,7 @@ public class HasUsername_open {
 
     private final HasUsername holder;
 
-    public static class ActionDomainEvent extends SecurityModule.ActionDomainEvent<HasUsername_open> {}
+    public static class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<HasUsername_open> {}
 
     @Action(
             semantics = SemanticsOf.SAFE,
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisBootSecmanPersistenceJdo.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleSecmanPersistenceJdo.java
similarity index 91%
rename from extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisBootSecmanPersistenceJdo.java
rename to extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleSecmanPersistenceJdo.java
index 5b6d082..cdd9832 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisBootSecmanPersistenceJdo.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleSecmanPersistenceJdo.java
@@ -24,8 +24,8 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 @ComponentScan(
         basePackageClasses= {
-                IsisBootSecmanPersistenceJdo.class
+                IsisModuleSecmanPersistenceJdo.class
         })
-public class IsisBootSecmanPersistenceJdo {
+public class IsisModuleSecmanPersistenceJdo {
 
 }
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java
index 22482e1..f0949ae 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java
@@ -43,7 +43,7 @@ import org.apache.isis.applib.services.appfeat.ApplicationMemberType;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.ObjectContracts.ObjectContract;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionValue;
@@ -151,11 +151,11 @@ public class ApplicationPermission implements org.apache.isis.extensions.secman.
 
     // -- domain events
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationPermission, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationPermission, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationPermission, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationPermission, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationPermission> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationPermission> {}
 
 
 
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRole.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRole.java
index 50e418f..8511fbf 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRole.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRole.java
@@ -54,7 +54,7 @@ import org.apache.isis.applib.util.Hashing;
 import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.ToString;
 import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
@@ -105,11 +105,11 @@ import lombok.Setter;
 public class ApplicationRole 
 implements org.apache.isis.extensions.secman.api.role.ApplicationRole, Comparable<ApplicationRole> {
 
-    public static abstract class PropertyDomainEvent<T> extends SecurityModule.PropertyDomainEvent<ApplicationRole, T> {}
+    public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationRole, T> {}
 
-    public static abstract class CollectionDomainEvent<T> extends SecurityModule.CollectionDomainEvent<ApplicationRole, T> {}
+    public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationRole, T> {}
 
-    public static abstract class ActionDomainEvent extends SecurityModule.ActionDomainEvent<ApplicationRole> {}
+    public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationRole> {}
 
 
     // -- constants, moved to interface
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/user/ApplicationUser.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/user/ApplicationUser.java
index 24e389e..8be87d6 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/user/ApplicationUser.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/user/ApplicationUser.java
@@ -56,7 +56,7 @@ import org.apache.isis.applib.value.Password;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Sets;
-import org.apache.isis.extensions.secman.api.SecurityModule;
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
 import org.apache.isis.extensions.secman.api.SecurityModuleConfig;
 import org.apache.isis.extensions.secman.api.encryption.PasswordEncryptionService;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
@@ -140,13 +140,13 @@ public class ApplicationUser implements Comparable<ApplicationUser>,
 org.apache.isis.extensions.secman.api.user.ApplicationUser {
 
     public static abstract class PropertyDomainEvent<T>
-    extends SecurityModule.PropertyDomainEvent<ApplicationUser, T> {}
+    extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationUser, T> {}
 
     public static abstract class CollectionDomainEvent<T> 
-    extends SecurityModule.CollectionDomainEvent<ApplicationUser, T> {}
+    extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationUser, T> {}
 
     public static abstract class ActionDomainEvent 
-    extends SecurityModule.ActionDomainEvent<ApplicationUser> {}
+    extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationUser> {}
 
 
     // -- identification
diff --git a/extensions/security/secman/pom.xml b/extensions/security/secman/pom.xml
index d522ad1..f3aafe2 100644
--- a/extensions/security/secman/pom.xml
+++ b/extensions/security/secman/pom.xml
@@ -77,7 +77,7 @@
 	
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-security</artifactId>
+			<artifactId>isis-security-api</artifactId>
 		</dependency>
 
     </dependencies>
diff --git a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/AuthInfoForApplicationUser.java b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/AuthInfoForApplicationUser.java
index 8527713..129c9a0 100644
--- a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/AuthInfoForApplicationUser.java
+++ b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/AuthInfoForApplicationUser.java
@@ -20,6 +20,7 @@ package org.apache.isis.extensions.secman.shiro;
 
 import java.util.Collection;
 
+import org.apache.isis.extensions.secman.shiro.util.ShiroUtils;
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authz.AuthorizationInfo;
 import org.apache.shiro.authz.Permission;
diff --git a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisBootSecmanRealmShiro.java b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecmanRealmShiro.java
similarity index 89%
rename from extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisBootSecmanRealmShiro.java
rename to extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecmanRealmShiro.java
index a8ce8cf..26f1c79 100644
--- a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisBootSecmanRealmShiro.java
+++ b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecmanRealmShiro.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.extensions.secman.shiro;
 
+import org.apache.isis.extensions.secman.shiro.services.SecurityRealmServiceUsingShiro;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
@@ -25,6 +26,6 @@ import org.springframework.context.annotation.Import;
 @Import({
     SecurityRealmServiceUsingShiro.class
 })
-public class IsisBootSecmanRealmShiro {
+public class IsisModuleSecmanRealmShiro {
 
 }
diff --git a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecurityRealm.java b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecurityRealm.java
index bf7eacb..4ec950e 100644
--- a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecurityRealm.java
+++ b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleSecurityRealm.java
@@ -24,6 +24,7 @@ import java.util.function.Supplier;
 
 import javax.inject.Inject;
 
+import org.apache.isis.extensions.secman.shiro.util.ShiroUtils;
 import org.apache.isis.security.api.authorization.standard.Authorizor;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
diff --git a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/SecurityRealmServiceUsingShiro.java b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java
similarity index 92%
rename from extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/SecurityRealmServiceUsingShiro.java
rename to extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java
index a945560..02dea6c 100644
--- a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/SecurityRealmServiceUsingShiro.java
+++ b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java
@@ -16,10 +16,11 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.secman.shiro;
+package org.apache.isis.extensions.secman.shiro.services;
 
 import javax.inject.Inject;
 
+import org.apache.isis.extensions.secman.shiro.util.ShiroUtils;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
diff --git a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/ShiroUtils.java b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java
similarity index 91%
rename from extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/ShiroUtils.java
rename to extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java
index fe1669d..efcd168 100644
--- a/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/ShiroUtils.java
+++ b/extensions/security/secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java
@@ -16,20 +16,21 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.secman.shiro;
+package org.apache.isis.extensions.secman.shiro.util;
+
+import lombok.experimental.UtilityClass;
 
 import java.util.Collection;
 
+import org.apache.isis.extensions.secman.shiro.IsisModuleSecurityRealm;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.UnavailableSecurityManagerException;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.mgt.RealmSecurityManager;
 import org.apache.shiro.realm.Realm;
 
-final class ShiroUtils {
-
-    private ShiroUtils() {
-    }
+@UtilityClass
+public class ShiroUtils {
 
     public static synchronized RealmSecurityManager getSecurityManager() {
         org.apache.shiro.mgt.SecurityManager securityManager;
diff --git a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisExtFixturesModule.java b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java
similarity index 92%
rename from extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisExtFixturesModule.java
rename to extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java
index eb08800..eff8264 100644
--- a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisExtFixturesModule.java
+++ b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/IsisModuleExtFixtures.java
@@ -23,13 +23,13 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScripts;
 import org.apache.isis.extensions.fixtures.legacy.queryresultscache.QueryResultsCacheControlInternal;
 import org.apache.isis.extensions.fixtures.modules.ModuleFixtureService;
 import org.apache.isis.extensions.fixtures.modules.ModuleService;
-import org.apache.isis.extensions.spring.ExtSpringModule;
+import org.apache.isis.extensions.spring.IsisModuleExtSpring;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-    ExtSpringModule.class,
+    IsisModuleExtSpring.class,
     FixturesLifecycleService.class,
     FixtureScripts.class,
     ExecutionParametersService.class,
@@ -37,6 +37,6 @@ import org.springframework.context.annotation.Import;
     ModuleService.class,
     ModuleFixtureService.class
 })
-public class IsisExtFixturesModule {
+public class IsisModuleExtFixtures {
 
 }
diff --git a/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/IsisModuleExtSpecSupport.java b/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/IsisModuleExtSpecSupport.java
new file mode 100644
index 0000000..6df376f
--- /dev/null
+++ b/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/IsisModuleExtSpecSupport.java
@@ -0,0 +1,4 @@
+package org.apache.isis.extensions.specsupport;
+
+public class IsisModuleExtSpecSupport {
+}
diff --git a/extensions/testing/specsupport/src/main/java/org/apache/isis/specsupport/ObjectFactoryForIntegration.java b/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/integration/ObjectFactoryForIntegration.java
similarity index 97%
rename from extensions/testing/specsupport/src/main/java/org/apache/isis/specsupport/ObjectFactoryForIntegration.java
rename to extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/integration/ObjectFactoryForIntegration.java
index ca993be..eb27644 100644
--- a/extensions/testing/specsupport/src/main/java/org/apache/isis/specsupport/ObjectFactoryForIntegration.java
+++ b/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/integration/ObjectFactoryForIntegration.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.specsupport;
+package org.apache.isis.extensions.specsupport.integration;
 
 import java.lang.reflect.Constructor;
 import java.util.Map;
diff --git a/extensions/testing/specsupport/src/main/java/org/apache/isis/specsupport/specs/V.java b/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/specs/V.java
similarity index 99%
rename from extensions/testing/specsupport/src/main/java/org/apache/isis/specsupport/specs/V.java
rename to extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/specs/V.java
index f81b4ee..03eb0e4 100644
--- a/extensions/testing/specsupport/src/main/java/org/apache/isis/specsupport/specs/V.java
+++ b/extensions/testing/specsupport/src/main/java/org/apache/isis/extensions/specsupport/specs/V.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.specsupport.specs;
+package org.apache.isis.extensions.specsupport.specs;
 
 import org.joda.time.format.DateTimeFormat;
 
@@ -179,7 +179,7 @@ public class V {
     }
 
     /**
-     * Converts {@link java.lang.String}s to {@link java.lang.BigDecimal}, but also recognizing the
+     * Converts {@link java.lang.String}s to {@link java.math.BigDecimal}, but also recognizing the
      * keyword 'null'.
      */
     public static class BigDecimal extends Transformer<java.math.BigDecimal> {
diff --git a/extensions/vro/restclient/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java b/extensions/vro/restclient/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java
new file mode 100644
index 0000000..d0b6aa6
--- /dev/null
+++ b/extensions/vro/restclient/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java
@@ -0,0 +1,7 @@
+package org.apache.isis.extensions.restclient;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleExtRestClient {
+}
diff --git a/core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/applib/IsisModuleExtAsciidocApplib.java
similarity index 87%
rename from core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/applib/IsisModuleExtAsciidocApplib.java
index bb6acf2..482bd84 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/IsisSchemaModule.java
+++ b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/applib/IsisModuleExtAsciidocApplib.java
@@ -16,13 +16,10 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.schema;
+package org.apache.isis.extensions.asciidoc.applib;
 
-import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
-public class IsisSchemaModule {
-
-
+public class IsisModuleExtAsciidocApplib {
 }
diff --git a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDoc.java b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/applib/value/AsciiDoc.java
similarity index 91%
rename from extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDoc.java
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/applib/value/AsciiDoc.java
index 3be52ac..c14469d 100644
--- a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDoc.java
+++ b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/applib/value/AsciiDoc.java
@@ -16,10 +16,11 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.asciidoc;
+package org.apache.isis.extensions.asciidoc.applib.value;
 
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.applib.value.Markup;
+import org.apache.isis.extensions.asciidoc.ui.converter.AsciiDocConverter;
 
 /**
  * Immutable value type holding pre-rendered HTML.
diff --git a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisBootSecmanEncryptionJbcrypt.java b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/IsisModuleExtAsciidocUi.java
similarity index 82%
rename from extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisBootSecmanEncryptionJbcrypt.java
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/IsisModuleExtAsciidocUi.java
index 6278f2e..64c40d1 100644
--- a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisBootSecmanEncryptionJbcrypt.java
+++ b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/IsisModuleExtAsciidocUi.java
@@ -16,15 +16,15 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.secman.encryption.jbcrypt;
+package org.apache.isis.extensions.asciidoc.ui;
 
+import org.apache.isis.extensions.asciidoc.applib.IsisModuleExtAsciidocApplib;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-    PasswordEncryptionServiceUsingJBcrypt.class
+        IsisModuleExtAsciidocApplib.class
 })
-public class IsisBootSecmanEncryptionJbcrypt {
-
+public class IsisModuleExtAsciidocUi {
 }
diff --git a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocComponent.java b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/AsciiDocComponent.java
similarity index 97%
rename from extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocComponent.java
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/AsciiDocComponent.java
index 30787a0..08ef8db 100644
--- a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocComponent.java
+++ b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/AsciiDocComponent.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.asciidoc;
+package org.apache.isis.extensions.asciidoc.ui.components;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
diff --git a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocPanelFactoriesForWicket.java b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/AsciiDocPanelFactoriesForWicket.java
similarity index 95%
rename from extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocPanelFactoriesForWicket.java
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/AsciiDocPanelFactoriesForWicket.java
index b85b095..5f1214a 100644
--- a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocPanelFactoriesForWicket.java
+++ b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/AsciiDocPanelFactoriesForWicket.java
@@ -17,8 +17,9 @@
  *  under the License.
  */
 
-package org.apache.isis.extensions.asciidoc;
+package org.apache.isis.extensions.asciidoc.ui.components;
 
+import org.apache.isis.extensions.asciidoc.applib.value.AsciiDoc;
 import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
 import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
 
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/css/prism.css b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/css/prism.css
similarity index 100%
rename from extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/css/prism.css
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/css/prism.css
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/js/prism1.14.js b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/js/prism1.14.js
similarity index 100%
rename from extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/js/prism1.14.js
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/components/js/prism1.14.js
diff --git a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocConverter.java b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/converter/AsciiDocConverter.java
similarity index 95%
rename from extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocConverter.java
rename to extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/converter/AsciiDocConverter.java
index 3c4528f..a5dca0a 100644
--- a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/AsciiDocConverter.java
+++ b/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/ui/converter/AsciiDocConverter.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.asciidoc;
+package org.apache.isis.extensions.asciidoc.ui.converter;
 
 import org.asciidoctor.Asciidoctor;
 import org.asciidoctor.AttributesBuilder;
@@ -49,7 +49,7 @@ public final class AsciiDocConverter {
      * {@code @import "prism.css"}.
      * </pre>
      *  
-     * @param adoc - formated input to be converted to HTML
+     * @param adoc - formatted input to be converted to HTML
      */
     public static String adocToHtml(String adoc) {
         if(asciidoctor==null) {
diff --git a/extensions/vw/asciidoc/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory b/extensions/vw/asciidoc/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
index f7254c1..fe60388 100644
--- a/extensions/vw/asciidoc/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
+++ b/extensions/vw/asciidoc/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
@@ -1,2 +1,2 @@
-org.apache.isis.extensions.asciidoc.AsciiDocPanelFactoriesForWicket$Parented
-org.apache.isis.extensions.asciidoc.AsciiDocPanelFactoriesForWicket$Standalone
\ No newline at end of file
+org.apache.isis.extensions.asciidoc.ui.components.AsciiDocPanelFactoriesForWicket$Parented
+org.apache.isis.extensions.asciidoc.ui.components.AsciiDocPanelFactoriesForWicket$Standalone
\ No newline at end of file
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelUiModule.java b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/IsisModuleExtExcelDownload.java
similarity index 88%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelUiModule.java
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/IsisModuleExtExcelDownload.java
index 8b05032..da671ec 100644
--- a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelUiModule.java
+++ b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/IsisModuleExtExcelDownload.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.extensions.viewer.wicket.excel;
 
-public final class ExcelUiModule {
-    private ExcelUiModule(){}
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleExtExcelDownload {
 }
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.css b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.css
similarity index 100%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.css
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.css
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.html b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.html
similarity index 100%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.html
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.html
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.java b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.java
similarity index 97%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.java
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.java
index 4c1138b..db5b1df 100644
--- a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcel.java
+++ b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.viewer.wicket.excel;
+package org.apache.isis.extensions.viewer.wicket.excel.components;
 
 import java.io.File;
 
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcelFactory.java b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcelFactory.java
similarity index 97%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcelFactory.java
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcelFactory.java
index a022279..3900dd2 100644
--- a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/CollectionContentsAsExcelFactory.java
+++ b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/CollectionContentsAsExcelFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.viewer.wicket.excel;
+package org.apache.isis.extensions.viewer.wicket.excel.components;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileDownloadLink.java b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/ExcelFileDownloadLink.java
similarity index 98%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileDownloadLink.java
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/ExcelFileDownloadLink.java
index bea78bd..d55b136 100644
--- a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileDownloadLink.java
+++ b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/ExcelFileDownloadLink.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.viewer.wicket.excel;
+package org.apache.isis.extensions.viewer.wicket.excel.components;
 
 import java.io.File;
 
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/ExcelFileModel.java
similarity index 99%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/ExcelFileModel.java
index 6b46216..b71c550 100644
--- a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/ExcelFileModel.java
+++ b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/ExcelFileModel.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.viewer.wicket.excel;
+package org.apache.isis.extensions.viewer.wicket.excel.components;
 
 import java.io.File;
 import java.io.FileNotFoundException;
diff --git a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/Util_TimeConversion.java b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/Util_TimeConversion.java
similarity index 95%
rename from extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/Util_TimeConversion.java
rename to extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/Util_TimeConversion.java
index 246e37b..c2e32f5 100644
--- a/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/Util_TimeConversion.java
+++ b/extensions/vw/exceldownload/src/main/java/org/apache/isis/extensions/viewer/wicket/excel/components/Util_TimeConversion.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.viewer.wicket.excel;
+package org.apache.isis.extensions.viewer.wicket.excel.components;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
diff --git a/extensions/vw/exceldownload/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory b/extensions/vw/exceldownload/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
index 47d111f..ac0d6ce 100644
--- a/extensions/vw/exceldownload/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
+++ b/extensions/vw/exceldownload/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
@@ -1 +1 @@
-org.apache.isis.extensions.viewer.wicket.excel.CollectionContentsAsExcelFactory
\ No newline at end of file
+org.apache.isis.extensions.viewer.wicket.excel.components.CollectionContentsAsExcelFactory
\ No newline at end of file
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/applib/IsisModuleExtMarkdownApplib.java b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/applib/IsisModuleExtMarkdownApplib.java
new file mode 100644
index 0000000..5b16379
--- /dev/null
+++ b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/applib/IsisModuleExtMarkdownApplib.java
@@ -0,0 +1,7 @@
+package org.apache.isis.extensions.markdown.applib;
+
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class IsisModuleExtMarkdownApplib {
+}
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/Markdown.java b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/applib/value/Markdown.java
similarity index 91%
rename from extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/Markdown.java
rename to extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/applib/value/Markdown.java
index 4b82370..931dde6 100644
--- a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/Markdown.java
+++ b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/applib/value/Markdown.java
@@ -16,10 +16,11 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.markdown;
+package org.apache.isis.extensions.markdown.applib.value;
 
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.applib.value.Markup;
+import org.apache.isis.extensions.markdown.ui.converter.MarkdownConverter;
 
 /**
  * Immutable value type holding pre-rendered HTML.
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/IsisModuleExtMarkdownUi.java b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/IsisModuleExtMarkdownUi.java
new file mode 100644
index 0000000..62c0348
--- /dev/null
+++ b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/IsisModuleExtMarkdownUi.java
@@ -0,0 +1,10 @@
+package org.apache.isis.extensions.markdown.ui;
+
+import org.apache.isis.extensions.markdown.applib.IsisModuleExtMarkdownApplib;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+@Configuration
+@Import({IsisModuleExtMarkdownApplib.class})
+public class IsisModuleExtMarkdownUi {
+}
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownComponent.java b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/MarkdownComponent.java
similarity index 97%
rename from extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownComponent.java
rename to extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/MarkdownComponent.java
index edce457..5abe54a 100644
--- a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownComponent.java
+++ b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/MarkdownComponent.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.markdown;
+package org.apache.isis.extensions.markdown.ui.components;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownPanelFactoriesForWicket.java b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/MarkdownPanelFactoriesForWicket.java
similarity index 95%
rename from extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownPanelFactoriesForWicket.java
rename to extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/MarkdownPanelFactoriesForWicket.java
index fcc3232..883b16e 100644
--- a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownPanelFactoriesForWicket.java
+++ b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/MarkdownPanelFactoriesForWicket.java
@@ -17,8 +17,9 @@
  *  under the License.
  */
 
-package org.apache.isis.extensions.markdown;
+package org.apache.isis.extensions.markdown.ui.components;
 
+import org.apache.isis.extensions.markdown.applib.value.Markdown;
 import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
 import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
 
diff --git a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/css/prism.css b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/css/prism.css
similarity index 100%
rename from extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/css/prism.css
rename to extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/css/prism.css
diff --git a/extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/js/prism1.14.js b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/js/prism1.14.js
similarity index 100%
rename from extensions/vw/asciidoc/src/main/java/org/apache/isis/extensions/asciidoc/js/prism1.14.js
rename to extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/components/js/prism1.14.js
diff --git a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownConverter.java b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/converter/MarkdownConverter.java
similarity index 98%
rename from extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownConverter.java
rename to extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/converter/MarkdownConverter.java
index 1634c0d..11b1bf5 100644
--- a/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/MarkdownConverter.java
+++ b/extensions/vw/markdown/src/main/java/org/apache/isis/extensions/markdown/ui/converter/MarkdownConverter.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.markdown;
+package org.apache.isis.extensions.markdown.ui.converter;
 
 import java.util.Arrays;
 
diff --git a/extensions/vw/markdown/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory b/extensions/vw/markdown/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
index 5097912..8738ce1 100644
--- a/extensions/vw/markdown/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
+++ b/extensions/vw/markdown/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory
@@ -1,2 +1,2 @@
-org.apache.isis.extensions.markdown.MarkdownPanelFactoriesForWicket$Parented
-org.apache.isis.extensions.markdown.MarkdownPanelFactoriesForWicket$Standalone
\ No newline at end of file
+org.apache.isis.extensions.markdown.ui.components.MarkdownPanelFactoriesForWicket$Parented
+org.apache.isis.extensions.markdown.ui.components.MarkdownPanelFactoriesForWicket$Standalone
\ No newline at end of file
diff --git a/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/IsisBootSse.java b/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/IsisBootSse.java
index d215014..1b812b7 100644
--- a/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/IsisBootSse.java
+++ b/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/IsisBootSse.java
@@ -18,11 +18,11 @@
  */
 package org.apache.isis.extensions.sse;
 
+import org.apache.isis.extensions.sse.webmodule.WebModuleServerSentEvents;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 import org.apache.isis.extensions.sse.services.SseServiceDefault;
-import org.apache.isis.extensions.sse.webapp.WebModuleServerSentEvents;
 
 @Configuration
 @Import({
diff --git a/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webapp/ServerSentEventsServlet.java b/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/ServerSentEventsServlet.java
similarity index 99%
rename from extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webapp/ServerSentEventsServlet.java
rename to extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/ServerSentEventsServlet.java
index 308afcd..104791a 100644
--- a/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webapp/ServerSentEventsServlet.java
+++ b/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/ServerSentEventsServlet.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.sse.webapp;
+package org.apache.isis.extensions.sse.webmodule;
 
 import java.io.IOException;
 import java.util.Optional;
diff --git a/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webapp/WebModuleServerSentEvents.java b/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/WebModuleServerSentEvents.java
similarity index 97%
rename from extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webapp/WebModuleServerSentEvents.java
rename to extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/WebModuleServerSentEvents.java
index 5951e38..c77da4b 100644
--- a/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webapp/WebModuleServerSentEvents.java
+++ b/extensions/vw/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/WebModuleServerSentEvents.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.sse.webapp;
+package org.apache.isis.extensions.sse.webmodule;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextListener;
diff --git a/incubator/core/model/src/main/java/org/apache/isis/extensions/incubator/IsisBootIncubator.java b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/applib/IsisModuleIncModelApplib.java
similarity index 84%
rename from incubator/core/model/src/main/java/org/apache/isis/extensions/incubator/IsisBootIncubator.java
rename to incubator/core/model/src/main/java/org/apache/isis/incubator/model/applib/IsisModuleIncModelApplib.java
index a4d9e84..79612d4 100644
--- a/incubator/core/model/src/main/java/org/apache/isis/extensions/incubator/IsisBootIncubator.java
+++ b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/applib/IsisModuleIncModelApplib.java
@@ -16,15 +16,13 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.incubator;
+package org.apache.isis.incubator.model.applib;
 
+import org.apache.isis.incubator.model.metamodel.services.IncubatorMetaModelPlugin;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
-@Import({
-    IncubatorMetaModelPlugin.class
-})
-public class IsisBootIncubator {
+public class IsisModuleIncModelApplib {
 
 }
diff --git a/incubator/core/model/src/main/java/org/apache/isis/applib/annotation/Model.java b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/applib/annotation/Model.java
similarity index 96%
rename from incubator/core/model/src/main/java/org/apache/isis/applib/annotation/Model.java
rename to incubator/core/model/src/main/java/org/apache/isis/incubator/model/applib/annotation/Model.java
index 7d50e7f..e0443d4 100644
--- a/incubator/core/model/src/main/java/org/apache/isis/applib/annotation/Model.java
+++ b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/applib/annotation/Model.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.applib.annotation;
+package org.apache.isis.incubator.model.applib.annotation;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisMetamodelModule.java b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/IsisModuleIncModelMetaModel.java
similarity index 72%
rename from core/metamodel/src/main/java/org/apache/isis/metamodel/IsisMetamodelModule.java
rename to incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/IsisModuleIncModelMetaModel.java
index 6810078..a188877 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/IsisMetamodelModule.java
+++ b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/IsisModuleIncModelMetaModel.java
@@ -16,23 +16,21 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.metamodel;
+package org.apache.isis.incubator.model.metamodel;
 
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-import org.apache.isis.applib.IsisApplibModule;
-import org.apache.isis.config.IsisConfigModule;
-import org.springframework.context.annotation.ComponentScan;
+import org.apache.isis.incubator.model.applib.IsisModuleIncModelApplib;
+import org.apache.isis.incubator.model.metamodel.services.IncubatorMetaModelPlugin;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        IsisApplibModule.class,
-        IsisConfigModule.class,
+        // modules
+        IsisModuleIncModelApplib.class,
+
+        // @Component's
+        IncubatorMetaModelPlugin.class
 })
-@ComponentScan
-public class IsisMetamodelModule {
+public class IsisModuleIncModelMetaModel {
 
 }
diff --git a/incubator/core/model/src/main/java/org/apache/isis/metamodel/facets/actions/support/SupportingMethodValidatorRefinerFactory.java b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/facets/SupportingMethodValidatorRefinerFactory.java
similarity index 97%
rename from incubator/core/model/src/main/java/org/apache/isis/metamodel/facets/actions/support/SupportingMethodValidatorRefinerFactory.java
rename to incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/facets/SupportingMethodValidatorRefinerFactory.java
index c26a47f..0b8d3e6 100644
--- a/incubator/core/model/src/main/java/org/apache/isis/metamodel/facets/actions/support/SupportingMethodValidatorRefinerFactory.java
+++ b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/facets/SupportingMethodValidatorRefinerFactory.java
@@ -16,16 +16,15 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.metamodel.facets.actions.support;
+package org.apache.isis.incubator.model.metamodel.facets;
 
 import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import org.apache.isis.applib.annotation.Model;
+import org.apache.isis.incubator.model.applib.annotation.Model;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.metamodel.commons.MethodUtil;
diff --git a/incubator/core/model/src/main/java/org/apache/isis/extensions/incubator/IncubatorMetaModelPlugin.java b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/services/IncubatorMetaModelPlugin.java
similarity index 92%
rename from incubator/core/model/src/main/java/org/apache/isis/extensions/incubator/IncubatorMetaModelPlugin.java
rename to incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/services/IncubatorMetaModelPlugin.java
index 271844c..81b7600 100644
--- a/incubator/core/model/src/main/java/org/apache/isis/extensions/incubator/IncubatorMetaModelPlugin.java
+++ b/incubator/core/model/src/main/java/org/apache/isis/incubator/model/metamodel/services/IncubatorMetaModelPlugin.java
@@ -16,12 +16,12 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.incubator;
+package org.apache.isis.incubator.model.metamodel.services;
 
+import org.apache.isis.incubator.model.metamodel.facets.SupportingMethodValidatorRefinerFactory;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.metamodel.facets.actions.support.SupportingMethodValidatorRefinerFactory;
 import org.apache.isis.metamodel.progmodel.ProgrammingModel;
 
 @Component
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/DomainObjectContainer.java
similarity index 99%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/DomainObjectContainer.java
index 35cf312..4a291ee 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/DomainObjectContainer.java
@@ -16,17 +16,18 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.applib;
+package org.apache.isis.legacy.applib;
 
 import java.util.Iterator;
 import java.util.List;
 
 import javax.inject.Inject;
 
+import org.apache.isis.applib.ViewModel;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.legacy.applib.filter.Filter;
 import org.apache.isis.applib.query.Query;
 import org.apache.isis.applib.security.UserMemento;
 import org.apache.isis.applib.services.factory.FactoryService;
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/filter/Filter.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/filter/Filter.java
similarity index 97%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/filter/Filter.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/filter/Filter.java
index cc1edb8..fff11e2 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/filter/Filter.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/filter/Filter.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.applib.filter;
+package org.apache.isis.legacy.applib.filter;
 
 import com.google.common.base.Predicate;
 
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/filter/Filters.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/filter/Filters.java
similarity index 98%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/filter/Filters.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/filter/Filters.java
index ec840d5..1d276dc 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/filter/Filters.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/filter/Filters.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.applib.filter;
+package org.apache.isis.legacy.applib.filter;
 
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService2.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundCommandService2.java
similarity index 89%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService2.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundCommandService2.java
index 7c3ed13..eb67f3d 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService2.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundCommandService2.java
@@ -14,7 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.applib.services.background;
+package org.apache.isis.legacy.applib.services.background;
+
+import org.apache.isis.applib.services.background.BackgroundCommandService;
 
 /**
  * Persists a {@link org.apache.isis.schema.cmd.v1.CommandDto memento-ized} command such that it can be
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundService.java
similarity index 97%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundService.java
index e44840b..0d69872 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundService.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.applib.services.background;
+package org.apache.isis.legacy.applib.services.background;
 
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService2.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundService2.java
similarity index 94%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService2.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundService2.java
index 7f68327..c1f7d6a 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService2.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/background/BackgroundService2.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.applib.services.background;
+package org.apache.isis.legacy.applib.services.background;
 
 /**
  * Submit actions to be invoked in the background.
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ActionDomainEvent.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/ActionDomainEvent.java
similarity index 99%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ActionDomainEvent.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/ActionDomainEvent.java
index cce70c6..684b1e6 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ActionDomainEvent.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/ActionDomainEvent.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.applib.services.eventbus;
+package org.apache.isis.legacy.applib.services.eventbus;
 
 import java.util.List;
 
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/CollectionDomainEvent.java
similarity index 97%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/CollectionDomainEvent.java
index 0b0481d..582985b 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/CollectionDomainEvent.java
@@ -16,10 +16,9 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.applib.services.eventbus;
+package org.apache.isis.legacy.applib.services.eventbus;
 
 import org.apache.isis.applib.events.domain.AbstractDomainEvent;
-import org.apache.isis.applib.events.domain.AbstractDomainEvent.Phase;
 import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.ToString;
 
diff --git a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/PropertyDomainEvent.java b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/PropertyDomainEvent.java
similarity index 98%
rename from legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/PropertyDomainEvent.java
rename to legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/PropertyDomainEvent.java
index 764ee65..fd06231 100644
--- a/legacy/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/PropertyDomainEvent.java
+++ b/legacy/core/applib/src/main/java/org/apache/isis/legacy/applib/services/eventbus/PropertyDomainEvent.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.applib.services.eventbus;
+package org.apache.isis.legacy.applib.services.eventbus;
 
 import org.apache.isis.applib.events.domain.AbstractDomainEvent;
 import org.apache.isis.applib.util.ObjectContracts;
diff --git a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/FutureWithIndexIntoFutureOfList.java b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/FutureWithIndexIntoFutureOfList.java
similarity index 97%
rename from legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/FutureWithIndexIntoFutureOfList.java
rename to legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/FutureWithIndexIntoFutureOfList.java
index 584e31b..8196eec 100644
--- a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/FutureWithIndexIntoFutureOfList.java
+++ b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/FutureWithIndexIntoFutureOfList.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.commons.internal.threadpool;
+package org.apache.isis.legacy.commons.internal.threadpool;
 
 import java.util.List;
 import java.util.concurrent.ExecutionException;
diff --git a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolExecutionMode.java b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolExecutionMode.java
similarity index 97%
rename from legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolExecutionMode.java
rename to legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolExecutionMode.java
index 442eb0e..7af7e53 100644
--- a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolExecutionMode.java
+++ b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolExecutionMode.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.commons.internal.threadpool;
+package org.apache.isis.legacy.commons.internal.threadpool;
 
 /**
  *  ThreadPollSupport's executions mode where the enum's ordinal corresponds to the level of concurrency.
diff --git a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSizeAdvisor.java b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSizeAdvisor.java
similarity index 96%
rename from legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSizeAdvisor.java
rename to legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSizeAdvisor.java
index 86730dc..e76b934 100644
--- a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSizeAdvisor.java
+++ b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSizeAdvisor.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.commons.internal.threadpool;
+package org.apache.isis.legacy.commons.internal.threadpool;
 
 @Deprecated
 final class ThreadPoolSizeAdvisor {
diff --git a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSupport.java b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSupport.java
similarity index 99%
rename from legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSupport.java
rename to legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSupport.java
index 369a11f..f0e8353 100644
--- a/legacy/core/commons/src/main/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSupport.java
+++ b/legacy/core/commons/src/main/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSupport.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.commons.internal.threadpool;
+package org.apache.isis.legacy.commons.internal.threadpool;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/legacy/core/commons/src/test/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSupportTest.java b/legacy/core/commons/src/test/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSupportTest.java
similarity index 95%
rename from legacy/core/commons/src/test/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSupportTest.java
rename to legacy/core/commons/src/test/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSupportTest.java
index 55a046e..9b5802d 100644
--- a/legacy/core/commons/src/test/java/org/apache/isis/commons/internal/threadpool/ThreadPoolSupportTest.java
+++ b/legacy/core/commons/src/test/java/org/apache/isis/legacy/commons/internal/threadpool/ThreadPoolSupportTest.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.commons.internal.threadpool;
+package org.apache.isis.legacy.commons.internal.threadpool;
 
 import java.util.List;
 import java.util.concurrent.Callable;
@@ -25,6 +25,8 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
+import org.apache.isis.legacy.commons.internal.threadpool.ThreadPoolExecutionMode;
+import org.apache.isis.legacy.commons.internal.threadpool.ThreadPoolSupport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/snapshot/DomSerializer.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/snapshot/DomSerializer.java
similarity index 96%
rename from legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/snapshot/DomSerializer.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/snapshot/DomSerializer.java
index 68e7a20..20545b7 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/snapshot/DomSerializer.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/snapshot/DomSerializer.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.runtime.snapshot;
+package org.apache.isis.legacy.runtime.snapshot;
 
 import java.io.OutputStream;
 import java.io.Writer;
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/snapshot/DomSerializerJaxp.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/snapshot/DomSerializerJaxp.java
similarity index 98%
rename from legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/snapshot/DomSerializerJaxp.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/snapshot/DomSerializerJaxp.java
index bd9cce0..ab96494 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/snapshot/DomSerializerJaxp.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/snapshot/DomSerializerJaxp.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.runtime.snapshot;
+package org.apache.isis.legacy.runtime.snapshot;
 
 import java.io.CharArrayWriter;
 import java.io.OutputStream;
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/sysout/SystemPrinter.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/sysout/SystemPrinter.java
similarity index 96%
rename from legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/sysout/SystemPrinter.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/sysout/SystemPrinter.java
index 2045226..fe2d0e2 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/core/runtime/sysout/SystemPrinter.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/sysout/SystemPrinter.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.runtime.sysout;
+package org.apache.isis.legacy.runtime.sysout;
 
 import java.io.PrintStream;
 
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/LoggingLocation.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/LoggingLocation.java
similarity index 94%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/LoggingLocation.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/LoggingLocation.java
index db95275..487daa1 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/LoggingLocation.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/LoggingLocation.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.runtime.system.persistence;
+package org.apache.isis.legacy.runtime.system.persistence;
 
 public enum LoggingLocation {
     ENTRY(">>"), EXIT("<<");
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/ObjectFactory.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/ObjectFactory.java
similarity index 97%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/ObjectFactory.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/ObjectFactory.java
index 9fdfa92..a0aee37 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/ObjectFactory.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/ObjectFactory.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.runtime.system.persistence;
+package org.apache.isis.legacy.runtime.system.persistence;
 
 import java.lang.reflect.Modifier;
 
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/SuspendableListener.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/SuspendableListener.java
similarity index 94%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/SuspendableListener.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/SuspendableListener.java
index aa15a16..360796d 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/system/persistence/SuspendableListener.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/system/persistence/SuspendableListener.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.runtime.system.persistence;
+package org.apache.isis.legacy.runtime.system.persistence;
 
 public interface SuspendableListener {
 
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/AbstractServletOrFilterMapping.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/AbstractServletOrFilterMapping.java
similarity index 97%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/AbstractServletOrFilterMapping.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/AbstractServletOrFilterMapping.java
index 7bfc76a..b9c1e8c 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/AbstractServletOrFilterMapping.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/AbstractServletOrFilterMapping.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.runtime.viewer.web;
+package org.apache.isis.legacy.runtime.viewer.web;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/FilterSpecification.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/FilterSpecification.java
similarity index 96%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/FilterSpecification.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/FilterSpecification.java
index b2e5de1..3840b3e 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/FilterSpecification.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/FilterSpecification.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.runtime.viewer.web;
+package org.apache.isis.legacy.runtime.viewer.web;
 
 import java.util.Map;
 
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/ServletSpecification.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/ServletSpecification.java
similarity index 96%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/ServletSpecification.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/ServletSpecification.java
index 1e872a4..5ae55de 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/ServletSpecification.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/ServletSpecification.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.runtime.viewer.web;
+package org.apache.isis.legacy.runtime.viewer.web;
 
 import java.util.Map;
 
diff --git a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/WebAppSpecification.java b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/WebAppSpecification.java
similarity index 98%
rename from legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/WebAppSpecification.java
rename to legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/WebAppSpecification.java
index b01aa1c..27f2937 100644
--- a/legacy/core/runtime/src/main/java/org/apache/isis/runtime/viewer/web/WebAppSpecification.java
+++ b/legacy/core/runtime/src/main/java/org/apache/isis/legacy/runtime/viewer/web/WebAppSpecification.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.runtime.viewer.web;
+package org.apache.isis.legacy.runtime.viewer.web;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/legacy/testsupport/mavenplugin/pom.xml b/legacy/testsupport/mavenplugin/pom.xml
index 226f6bd..6bc2a66 100644
--- a/legacy/testsupport/mavenplugin/pom.xml
+++ b/legacy/testsupport/mavenplugin/pom.xml
@@ -74,7 +74,7 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-security</artifactId>
+			<artifactId>isis-security-api</artifactId>
 		</dependency>
 		
 		<dependency>
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index 60ce72b..fb04368 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -111,7 +111,7 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-security</artifactId>
+			<artifactId>isis-security-api</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>