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 2021/06/11 06:21:55 UTC

[isis] 05/09: ISIS-2726: renames InteractionTracker -> InteractionLayerTracker

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

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

commit caed434699d695d6f5a3a253da009841cee7a782
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jun 11 06:11:24 2021 +0100

    ISIS-2726: renames InteractionTracker -> InteractionLayerTracker
---
 .../transaction/TransactionServiceSpring.adoc      |  2 +-
 ...onTracker.java => InteractionLayerTracker.java} |  2 +-
 .../isis/applib/services/sudo/SudoService.java     |  8 +++----
 .../applib/services/sudo/SudoServiceDefault.java   | 26 ----------------------
 .../core/interaction/scope/InteractionScope.java   | 10 ++++-----
 .../core/runtime/context/IsisAppCommonContext.java |  4 ++--
 .../isis/core/runtime/context/RuntimeContext.java  |  4 ++--
 .../core/runtime/context/RuntimeContextBase.java   | 10 ++++-----
 .../runtime/events/TransactionEventEmitter.java    |  8 +++----
 .../org/apache/isis/core/runtime/events/_Xray.java |  6 ++---
 .../runtimeservices/clock/ClockServiceDefault.java |  6 ++---
 .../command/CommandExecutorServiceDefault.java     |  4 ++--
 .../executor/MemberExecutorServiceDefault.java     | 10 ++++-----
 .../isis/core/runtimeservices/executor/_Xray.java  |  8 +++----
 .../publish/CommandPublisherDefault.java           |  4 ++--
 .../publish/EntityChangesPublisherDefault.java     |  4 ++--
 .../EntityPropertyChangePublisherDefault.java      |  4 ++--
 .../publish/ExecutionPublisherDefault.java         |  4 ++--
 .../isis/core/runtimeservices/publish/_Xray.java   | 10 ++++-----
 .../session/InteractionServiceDefault.java         |  4 ++--
 .../transaction/TransactionServiceSpring.java      | 10 ++++-----
 .../runtimeservices/user/UserServiceDefault.java   |  6 ++---
 .../wrapper/WrapperFactoryDefault.java             |  6 ++---
 .../java/demoapp/web/linebreaker/LineBreaker.java  |  6 ++---
 .../metamodel/facets/entity/JdoEntityFacet.java    |  4 ++--
 .../applayer/ApplicationLayerTestFactory.java      |  6 ++---
 ..._ensureCompatibleAcceptHeader_ContractTest.java |  6 ++---
 .../resources/DomainObjectResourceServerside.java  |  6 ++---
 .../resources/DomainServiceResourceServerside.java |  6 ++---
 .../resources/DomainTypeResourceServerside.java    |  6 ++---
 .../resources/HomePageResourceServerside.java      |  6 ++---
 .../viewer/resources/ImageResourceServerside.java  |  6 ++---
 .../resources/MenuBarsResourceServerside.java      |  6 ++---
 .../viewer/resources/ResourceAbstract.java         | 10 ++++-----
 .../viewer/resources/UserResourceServerside.java   |  6 ++---
 .../resources/VersionResourceServerside.java       |  6 ++---
 .../context/ResourceContext_getArg_Test.java       |  6 ++---
 .../wicket/ui/app/logout/LogoutHandlerWkt.java     |  8 +++----
 .../ajaxtable/PrototypingMessageProvider.java      |  2 +-
 .../wicket/ui/panels/FormExecutorDefault.java      |  2 +-
 .../AuthenticatedWebSessionForIsis.java            |  2 +-
 .../viewer/integration/LocalizerForIsis.java       |  6 ++---
 .../viewer/integration/WebRequestCycleForIsis.java |  2 +-
 ...uthenticatedWebSessionForIsis_Authenticate.java | 10 ++++-----
 44 files changed, 126 insertions(+), 152 deletions(-)

diff --git a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/transaction/TransactionServiceSpring.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/transaction/TransactionServiceSpring.adoc
index 47441f2..17827f1 100644
--- a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/transaction/TransactionServiceSpring.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/transaction/TransactionServiceSpring.adoc
@@ -7,7 +7,7 @@
 .TransactionServiceSpring.java
 ----
 class TransactionServiceSpring {
-  TransactionServiceSpring(final List<PlatformTransactionManager> platformTransactionManagers, final List<PersistenceExceptionTranslator> persistenceExceptionTranslators, final InteractionTracker interactionTracker)
+  TransactionServiceSpring(final List<PlatformTransactionManager> platformTransactionManagers, final List<PersistenceExceptionTranslator> persistenceExceptionTranslators, final InteractionTracker interactionLayerTracker)
   Result<T> callTransactional(TransactionDefinition def, Callable<T> callable)
   void nextTransaction()
   void flushTransaction()
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionTracker.java b/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionLayerTracker.java
similarity index 98%
rename from api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionTracker.java
rename to api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionLayerTracker.java
index 087209d..b67a423 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionTracker.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/iactnlayer/InteractionLayerTracker.java
@@ -28,7 +28,7 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
  *
  * @since 2.0
  */
-public interface InteractionTracker
+public interface InteractionLayerTracker
 extends InteractionProvider {
 
     /** @return the AuthenticationLayer that sits on top of the current
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java b/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
index 9e34622..961d31d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
@@ -32,8 +32,8 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.iactnlayer.InteractionContext;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.applib.services.iactnlayer.ThrowingRunnable;
 import org.apache.isis.applib.services.user.RoleMemento;
 import org.apache.isis.applib.services.user.UserService;
@@ -61,7 +61,7 @@ import lombok.val;
  * </p>
  *
  * @see InteractionService
- * @see InteractionTracker
+ * @see InteractionLayerTracker
  *
  * @since 1.x revised for 2.0 {@index}
  */
@@ -83,7 +83,7 @@ public class SudoService {
 
 
     private final InteractionService interactionService;
-    private final InteractionTracker interactionTracker;
+    private final InteractionLayerTracker interactionLayerTracker;
     private final List<SudoServiceListener> sudoListeners;
 
     /**
@@ -97,7 +97,7 @@ public class SudoService {
             final @NonNull UnaryOperator<InteractionContext> sudoMapper,
             final @NonNull Callable<T> callable) {
 
-        val currentInteractionLayer = interactionTracker.currentInteractionLayerElseFail();
+        val currentInteractionLayer = interactionLayerTracker.currentInteractionLayerElseFail();
         val currentInteractionContext = currentInteractionLayer.getInteractionContext();
         val sudoInteractionContext = sudoMapper.apply(currentInteractionContext);
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoServiceDefault.java b/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoServiceDefault.java
index fb1b63d..8f3aa90 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoServiceDefault.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoServiceDefault.java
@@ -19,32 +19,6 @@
 
 package org.apache.isis.applib.services.sudo;
 
-import java.util.concurrent.Callable;
-import java.util.function.UnaryOperator;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Primary;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.OrderPrecedence;
-import org.apache.isis.applib.services.iactnlayer.InteractionContext;
-import org.apache.isis.applib.services.iactnlayer.InteractionService;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
-import org.apache.isis.applib.services.registry.ServiceRegistry;
-import org.apache.isis.applib.services.sudo.SudoService;
-import org.apache.isis.applib.services.sudo.SudoServiceListener;
-import org.apache.isis.commons.collections.Can;
-
-import lombok.NonNull;
-import lombok.RequiredArgsConstructor;
-import lombok.val;
-
-import jakarta.annotation.PostConstruct;
-
 public class SudoServiceDefault implements SudoService {
 
 
diff --git a/core/interaction/src/main/java/org/apache/isis/core/interaction/scope/InteractionScope.java b/core/interaction/src/main/java/org/apache/isis/core/interaction/scope/InteractionScope.java
index b6ee31d..446dde3 100644
--- a/core/interaction/src/main/java/org/apache/isis/core/interaction/scope/InteractionScope.java
+++ b/core/interaction/src/main/java/org/apache/isis/core/interaction/scope/InteractionScope.java
@@ -29,7 +29,7 @@ import org.springframework.beans.factory.config.Scope;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.debug._Probe;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 
 import lombok.Data;
 import lombok.val;
@@ -41,7 +41,7 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 class InteractionScope implements Scope, InteractionScopeLifecycleHandler {
 
-    @Inject private InteractionTracker isisInteractionTracker;
+    @Inject private InteractionLayerTracker iInteractionLayerTracker;
 
     @Data(staticConstructor = "of")
     private static class ScopedObject {
@@ -61,12 +61,12 @@ class InteractionScope implements Scope, InteractionScopeLifecycleHandler {
     @Override
     public Object get(String name, ObjectFactory<?> objectFactory) {
 
-        if(isisInteractionTracker==null) {
+        if(iInteractionLayerTracker ==null) {
             throw _Exceptions.illegalState("Creation of bean %s with @InteractionScope requires the "
                     + "InteractionScopeBeanFactoryPostProcessor registered and initialized.", name);
         }
 
-        if(!isisInteractionTracker.isInInteraction()) {
+        if(!iInteractionLayerTracker.isInInteraction()) {
             throw _Exceptions.illegalState("Creation of bean %s with @InteractionScope requires the "
                     + "calling %s to have an open Interaction on the thread-local stack. Running into "
                     + "this issue might be caused by use of ... @Inject MyScopedBean bean ..., instead of "
@@ -110,7 +110,7 @@ class InteractionScope implements Scope, InteractionScopeLifecycleHandler {
     @Override
     public String getConversationId() {
         // null by convention if not supported
-        return isisInteractionTracker.getInteractionId()
+        return iInteractionLayerTracker.getInteractionId()
                 .map(UUID::toString)
                 .orElse(null);
     }
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
index cfcd236..ba14e8f 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/IsisAppCommonContext.java
@@ -23,12 +23,12 @@ import java.util.function.Function;
 import java.util.function.Supplier;
 
 import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 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.core.config.IsisConfiguration;
 import org.apache.isis.core.config.viewer.wicket.WebAppContextPath;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.interaction.session.MessageBroker;
 import org.apache.isis.core.metamodel.context.HasMetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -69,7 +69,7 @@ public class IsisAppCommonContext implements HasMetaModelContext {
     private final MenuBarsService menuBarsService = lookupServiceElseFail(MenuBarsService.class);
 
     @Getter(lazy = true)
-    private final InteractionTracker interactionTracker = lookupServiceElseFail(InteractionTracker.class);
+    private final InteractionLayerTracker interactionLayerTracker = lookupServiceElseFail(InteractionLayerTracker.class);
 
     @Getter(lazy = true, value = AccessLevel.PRIVATE)
     private final ObjectMementoService mementoService = lookupServiceElseFail(ObjectMementoService.class);
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContext.java
index dd60c5d..ed366df 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContext.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContext.java
@@ -21,7 +21,7 @@ package org.apache.isis.core.runtime.context;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
@@ -35,7 +35,7 @@ public interface RuntimeContext {
 
     MetaModelContext getMetaModelContext();
 
-    InteractionTracker getInteractionTracker();
+    InteractionLayerTracker getInteractionTracker();
     IsisConfiguration getConfiguration();
     SpecificationLoader getSpecificationLoader();
     ServiceInjector getServiceInjector();
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java
index 9a22dcf..a3b36ba 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java
@@ -21,12 +21,12 @@ package org.apache.isis.core.runtime.context;
 import java.util.function.Supplier;
 
 import org.apache.isis.applib.services.iactn.InteractionProvider;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
 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.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -49,7 +49,7 @@ public abstract class RuntimeContextBase implements RuntimeContext {
     @Getter(onMethod = @__(@Override)) protected final ServiceInjector serviceInjector;
     @Getter(onMethod = @__(@Override)) protected final ServiceRegistry serviceRegistry;
     @Getter(onMethod = @__(@Override)) protected final SpecificationLoader specificationLoader;
-    @Getter(onMethod = @__(@Override)) protected final InteractionTracker interactionTracker;
+    @Getter(onMethod = @__(@Override)) protected final InteractionLayerTracker interactionLayerTracker;
 
     @Getter protected final InteractionService interactionService;
     @Getter protected final AuthenticationManager authenticationManager;
@@ -70,13 +70,13 @@ public abstract class RuntimeContextBase implements RuntimeContext {
         this.homePageSupplier = mmc::getHomePageAdapter;
         this.interactionService = serviceRegistry.lookupServiceElseFail(InteractionService.class);
         this.authenticationManager = serviceRegistry.lookupServiceElseFail(AuthenticationManager.class);
-        this.interactionTracker = serviceRegistry.lookupServiceElseFail(InteractionTracker.class);
+        this.interactionLayerTracker = serviceRegistry.lookupServiceElseFail(InteractionLayerTracker.class);
     }
 
     // -- AUTH
 
     public InteractionProvider getInteractionProvider() {
-        return interactionTracker;
+        return interactionLayerTracker;
     }
 
     @Override
@@ -84,7 +84,7 @@ public abstract class RuntimeContextBase implements RuntimeContext {
         // we do the logout (removes this session from those valid)
         // similar code in wicket viewer (AuthenticatedWebSessionForIsis#onInvalidate())
 
-        interactionTracker
+        interactionLayerTracker
         .currentInteractionContext()
         .ifPresent(authentication->{
 
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/events/TransactionEventEmitter.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/events/TransactionEventEmitter.java
index 3009c71..2c47e0e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/events/TransactionEventEmitter.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/events/TransactionEventEmitter.java
@@ -27,7 +27,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
 import org.apache.isis.applib.services.eventbus.EventBusService;
 import org.apache.isis.applib.services.iactn.Interaction;
 import org.apache.isis.core.interaction.scope.InteractionScopeAware;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.transaction.events.TransactionAfterCompletionEvent;
 import org.apache.isis.core.transaction.events.TransactionBeforeCompletionEvent;
 
@@ -40,11 +40,11 @@ public class TransactionEventEmitter
 implements TransactionSynchronization, InteractionScopeAware {
 
     private final EventBusService eventBusService;
-    private final InteractionTracker interactionTracker;
+    private final InteractionLayerTracker interactionLayerTracker;
 
     @Override
     public void beforeCompletion() {
-        _Xray.txBeforeCompletion(interactionTracker, "tx: beforeCompletion");
+        _Xray.txBeforeCompletion(interactionLayerTracker, "tx: beforeCompletion");
         eventBusService.post(TransactionBeforeCompletionEvent.instance());
     }
 
@@ -52,7 +52,7 @@ implements TransactionSynchronization, InteractionScopeAware {
     public void afterCompletion(int status) {
         val event = TransactionAfterCompletionEvent.forStatus(status);
         eventBusService.post(event);
-        _Xray.txAfterCompletion(interactionTracker, String.format("tx: afterCompletion (%s)", event.name()));
+        _Xray.txAfterCompletion(interactionLayerTracker, String.format("tx: afterCompletion (%s)", event.name()));
     }
 
     @Override
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/events/_Xray.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/events/_Xray.java
index de389d9..be0ca98 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/events/_Xray.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/events/_Xray.java
@@ -19,9 +19,9 @@
 package org.apache.isis.core.runtime.events;
 
 import org.apache.isis.applib.services.confview.ConfigurationViewService;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.commons.internal.debug.xray.XrayDataModel;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.security.util.XrayUtil;
 
 import lombok.val;
@@ -48,7 +48,7 @@ final class _Xray {
 
     }
 
-    public static void txBeforeCompletion(InteractionTracker iaTracker, String txInfo) {
+    public static void txBeforeCompletion(InteractionLayerTracker iaTracker, String txInfo) {
         // append to the current interaction if any
 
         if(!XrayUi.isXrayEnabled()) {
@@ -84,7 +84,7 @@ final class _Xray {
 
     }
 
-    public static void txAfterCompletion(InteractionTracker iaTracker, String txInfo) {
+    public static void txAfterCompletion(InteractionLayerTracker iaTracker, String txInfo) {
         // append to the current interaction if any
 
         if(!XrayUi.isXrayEnabled()) {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/clock/ClockServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/clock/ClockServiceDefault.java
index 0db3c23..18729d5 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/clock/ClockServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/clock/ClockServiceDefault.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.clock.VirtualClock;
 import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.iactnlayer.InteractionContext;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 
 import lombok.RequiredArgsConstructor;
 
@@ -42,11 +42,11 @@ import lombok.RequiredArgsConstructor;
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class ClockServiceDefault implements ClockService {
 
-    private final InteractionTracker interactionTracker;
+    private final InteractionLayerTracker interactionLayerTracker;
 
     @Override
     public VirtualClock getClock() {
-        return interactionTracker.currentInteractionContext()
+        return interactionLayerTracker.currentInteractionContext()
         .map(InteractionContext::getClock)
         .orElseGet(VirtualClock::system);
     }
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
index 68a71ea..3de5535 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
@@ -53,7 +53,7 @@ import org.apache.isis.commons.functional.Result;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
 import org.apache.isis.core.metamodel.interactions.InteractionHead;
@@ -98,7 +98,7 @@ public class CommandExecutorServiceDefault implements CommandExecutorService {
     @Inject final SudoService sudoService;
     @Inject final ClockService clockService;
     @Inject final TransactionService transactionService;
-    @Inject final InteractionTracker isisInteractionTracker;
+    @Inject final InteractionLayerTracker iInteractionLayerTracker;
     @Inject final Provider<InteractionProvider> interactionProviderProvider;
 
     @Inject @Getter final InteractionService interactionService;
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
index 5f31c35..c1b46a6 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/MemberExecutorServiceDefault.java
@@ -37,6 +37,7 @@ import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.iactn.ActionInvocation;
 import org.apache.isis.applib.services.iactn.Execution;
 import org.apache.isis.applib.services.iactn.PropertyEdit;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.metrics.MetricsService;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.commons.collections.Can;
@@ -45,7 +46,6 @@ import org.apache.isis.commons.internal.assertions._Assert;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.execution.InteractionInternal;
 import org.apache.isis.core.metamodel.execution.MemberExecutorService;
@@ -83,7 +83,7 @@ import lombok.extern.log4j.Log4j2;
 public class MemberExecutorServiceDefault
 implements MemberExecutorService {
 
-    private final @Getter InteractionTracker interactionTracker;
+    private final @Getter InteractionLayerTracker interactionLayerTracker;
     private final @Getter IsisConfiguration configuration;
     private final @Getter ObjectManager objectManager;
     private final @Getter ClockService clockService;
@@ -95,7 +95,7 @@ implements MemberExecutorService {
 
     @Override
     public Optional<InteractionInternal> getInteraction() {
-        return interactionTracker.currentInteraction()
+        return interactionLayerTracker.currentInteraction()
                 .map(InteractionInternal.class::cast);
     }
 
@@ -119,7 +119,7 @@ implements MemberExecutorService {
         CommandPublishingFacet.ifPublishingEnabledForCommand(
                 command, owningAction, facetHolder, ()->command.updater().setPublishingEnabled(true));
 
-        val xrayHandle = _Xray.enterActionInvocation(interactionTracker, interaction, owningAction, head, argumentAdapters);
+        val xrayHandle = _Xray.enterActionInvocation(interactionLayerTracker, interaction, owningAction, head, argumentAdapters);
 
         val actionId = owningAction.getIdentifier();
         log.debug("about to invoke action {}", actionId);
@@ -200,7 +200,7 @@ implements MemberExecutorService {
         CommandPublishingFacet.ifPublishingEnabledForCommand(
                 command, owningProperty, facetHolder, ()->command.updater().setPublishingEnabled(true));
 
-        val xrayHandle = _Xray.enterPropertyEdit(interactionTracker, interaction, owningProperty, head, newValueAdapter);
+        val xrayHandle = _Xray.enterPropertyEdit(interactionLayerTracker, interaction, owningProperty, head, newValueAdapter);
 
         val propertyId = owningProperty.getIdentifier();
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
index 31afb1a..ff1a3a4 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
 
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.execution.InteractionInternal;
 import org.apache.isis.core.metamodel.interactions.InteractionHead;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -40,7 +40,7 @@ import lombok.val;
 final class _Xray {
 
     static SequenceHandle enterActionInvocation(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final @NonNull InteractionInternal interaction,
             final @NonNull ObjectAction owningAction,
             final @NonNull InteractionHead head,
@@ -64,7 +64,7 @@ final class _Xray {
     }
 
     public static SequenceHandle enterPropertyEdit(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final @NonNull InteractionInternal interaction,
             final @NonNull OneToOneAssociation owningProperty,
             final @NonNull InteractionHead head,
@@ -82,7 +82,7 @@ final class _Xray {
     }
 
     private static SequenceHandle enterInvocation(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final InteractionInternal interaction,
             final String participantLabel,
             final String enteringLabel) {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java
index 293c4be..087737f 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java
@@ -32,10 +32,10 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.publishing.spi.CommandSubscriber;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.having.HasEnabling;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.services.publishing.CommandPublisher;
 
 import lombok.NonNull;
@@ -53,7 +53,7 @@ import lombok.extern.log4j.Log4j2;
 public class CommandPublisherDefault implements CommandPublisher {
 
     private final List<CommandSubscriber> subscribers;
-    private final InteractionTracker iaTracker;
+    private final InteractionLayerTracker iaTracker;
 
     private Can<CommandSubscriber> enabledSubscribers = Can.empty();
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
index 5a461d1..f50d8d8 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
@@ -38,7 +38,7 @@ import org.apache.isis.applib.services.publishing.spi.EntityChangesSubscriber;
 import org.apache.isis.applib.services.user.UserService;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.having.HasEnabling;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.transaction.changetracking.EntityChangesPublisher;
 import org.apache.isis.core.transaction.changetracking.HasEnlistedEntityChanges;
 
@@ -58,7 +58,7 @@ public class EntityChangesPublisherDefault implements EntityChangesPublisher {
     private final List<EntityChangesSubscriber> subscribers;
     private final ClockService clockService;
     private final UserService userService;
-    private final InteractionTracker iaTracker;
+    private final InteractionLayerTracker iaTracker;
 
     private Can<EntityChangesSubscriber> enabledSubscribers = Can.empty();
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java
index d9e33c9..50fb39e 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java
@@ -32,6 +32,7 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.clock.ClockService;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
 import org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
 import org.apache.isis.applib.services.user.UserService;
@@ -39,7 +40,6 @@ import org.apache.isis.applib.services.xactn.TransactionId;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.having.HasEnabling;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.transaction.changetracking.EntityPropertyChangePublisher;
 import org.apache.isis.core.transaction.changetracking.HasEnlistedEntityPropertyChanges;
 
@@ -60,7 +60,7 @@ public class EntityPropertyChangePublisherDefault implements EntityPropertyChang
     private final UserService userService;
     private final ClockService clockService;
     private final TransactionService transactionService;
-    private final InteractionTracker iaTracker;
+    private final InteractionLayerTracker iaTracker;
 
     private Can<EntityPropertyChangeSubscriber> enabledSubscribers = Can.empty();
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/ExecutionPublisherDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/ExecutionPublisherDefault.java
index 95eb00b..d9b855c 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/ExecutionPublisherDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/ExecutionPublisherDefault.java
@@ -39,7 +39,7 @@ import org.apache.isis.applib.services.iactn.Execution;
 import org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.having.HasEnabling;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.services.publishing.ExecutionPublisher;
 
 import lombok.RequiredArgsConstructor;
@@ -57,7 +57,7 @@ public class ExecutionPublisherDefault
 implements ExecutionPublisher {
 
     private final List<ExecutionSubscriber> subscribers;
-    private final InteractionTracker iaTracker;
+    private final InteractionLayerTracker iaTracker;
 
     private Can<ExecutionSubscriber> enabledSubscribers = Can.empty();
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java
index 3b0a28e..efe5a8b 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java
@@ -27,6 +27,7 @@ import javax.annotation.Nullable;
 
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.iactn.Execution;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.publishing.spi.CommandSubscriber;
 import org.apache.isis.applib.services.publishing.spi.EntityChanges;
 import org.apache.isis.applib.services.publishing.spi.EntityChangesSubscriber;
@@ -36,7 +37,6 @@ import org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Text;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.security.util.XrayUtil;
 import org.apache.isis.core.security.util.XrayUtil.SequenceHandle;
 
@@ -48,7 +48,7 @@ final class _Xray {
     // -- COMMAND
 
     static SequenceHandle enterCommandPublishing(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final @Nullable Command command,
             final @NonNull Can<CommandSubscriber> enabledSubscribers,
             final @NonNull Supplier<String> cannotPublishReasonSupplier) {
@@ -91,7 +91,7 @@ final class _Xray {
     // -- EXECUTION
 
     public static SequenceHandle enterExecutionPublishing(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final @Nullable Execution<?, ?> execution,
             final @NonNull Can<ExecutionSubscriber> enabledSubscribers,
             final @NonNull Supplier<String> cannotPublishReasonSupplier) {
@@ -134,7 +134,7 @@ final class _Xray {
     // -- ENTITY CHANGES
 
     public static SequenceHandle enterEntityChangesPublishing(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final @NonNull Optional<EntityChanges> payload,
             final @NonNull Can<EntityChangesSubscriber> enabledSubscribers,
             final @NonNull Supplier<String> cannotPublishReasonSupplier) {
@@ -177,7 +177,7 @@ final class _Xray {
     // -- ENTITY PROPERTY CHANGES
 
     public static SequenceHandle enterEntityPropertyChangePublishing(
-            final @NonNull InteractionTracker iaTracker,
+            final @NonNull InteractionLayerTracker iaTracker,
             final @NonNull Can<EntityPropertyChange> payload,
             final @NonNull Can<EntityPropertyChangeSubscriber> enabledSubscribers,
             final @NonNull Supplier<String> cannotPublishReasonSupplier) {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
index 67c01fa..abff986 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
@@ -61,7 +61,7 @@ import org.apache.isis.core.interaction.integration.InteractionAwareTransactiona
 import org.apache.isis.core.interaction.scope.InteractionScopeAware;
 import org.apache.isis.core.interaction.scope.InteractionScopeBeanFactoryPostProcessor;
 import org.apache.isis.core.interaction.scope.InteractionScopeLifecycleHandler;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.interaction.session.IsisInteraction;
 import org.apache.isis.core.metamodel.services.publishing.CommandPublisher;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -90,7 +90,7 @@ import lombok.extern.log4j.Log4j2;
 public class InteractionServiceDefault
 implements
     InteractionService,
-    InteractionTracker {
+        InteractionLayerTracker {
 
     @Inject AuthenticationManager authenticationManager;
     @Inject MetamodelEventService runtimeEventService;
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java
index 1a0feeb..c6571bb 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java
@@ -49,7 +49,7 @@ import org.apache.isis.commons.functional.Result;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.interaction.scope.InteractionScopeAware;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.transaction.events.TransactionAfterCompletionEvent;
 
 import lombok.val;
@@ -75,7 +75,7 @@ implements
     InteractionScopeAware {
 
     private final Can<PlatformTransactionManager> platformTransactionManagers;
-    private final InteractionTracker interactionTracker;
+    private final InteractionLayerTracker interactionLayerTracker;
     private final Can<PersistenceExceptionTranslator> persistenceExceptionTranslators;
 
 
@@ -83,7 +83,7 @@ implements
     public TransactionServiceSpring(
             final List<PlatformTransactionManager> platformTransactionManagers,
             final List<PersistenceExceptionTranslator> persistenceExceptionTranslators,
-            final InteractionTracker interactionTracker) {
+            final InteractionLayerTracker interactionLayerTracker) {
 
         this.platformTransactionManagers = Can.ofCollection(platformTransactionManagers);
         log.info("PlatformTransactionManagers: {}", platformTransactionManagers);
@@ -91,7 +91,7 @@ implements
         this.persistenceExceptionTranslators = Can.ofCollection(persistenceExceptionTranslators);
         log.info("PersistenceExceptionTranslators: {}", persistenceExceptionTranslators);
 
-        this.interactionTracker = interactionTracker;
+        this.interactionLayerTracker = interactionLayerTracker;
     }
 
     // -- SPRING INTEGRATION
@@ -198,7 +198,7 @@ implements
 
     @Override
     public Optional<TransactionId> currentTransactionId() {
-        return interactionTracker.getInteractionId()
+        return interactionLayerTracker.getInteractionId()
                 .map(uuid->{
                     //XXX get current transaction's persistence context (once we support multiple contexts)
                     val persistenceContext = "";
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserServiceDefault.java
index 9687414..4b85432 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/user/UserServiceDefault.java
@@ -31,10 +31,10 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.iactnlayer.InteractionContext;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.user.ImpersonatedUserHolder;
 import org.apache.isis.applib.services.user.UserMemento;
 import org.apache.isis.applib.services.user.UserService;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 
 import lombok.RequiredArgsConstructor;
 import lombok.val;
@@ -51,7 +51,7 @@ import lombok.val;
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class UserServiceDefault implements UserService {
 
-    private final InteractionTracker isisInteractionTracker;
+    private final InteractionLayerTracker iInteractionLayerTracker;
     private final List<ImpersonatedUserHolder> impersonatedUserHolders;
 
     /**
@@ -62,7 +62,7 @@ public class UserServiceDefault implements UserService {
         Optional<UserMemento> optional = getImpersonatedUser();
         return optional.isPresent()
                 ? optional
-                : isisInteractionTracker.currentInteractionContext().map(InteractionContext::getUser);
+                : iInteractionLayerTracker.currentInteractionContext().map(InteractionContext::getUser);
     }
 
     @Override
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
index 75ecd68..1519b26 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
@@ -50,6 +50,7 @@ import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.iactn.InteractionProvider;
 import org.apache.isis.applib.services.iactnlayer.InteractionContext;
 import org.apache.isis.applib.services.iactnlayer.InteractionLayer;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.applib.services.metamodel.MetaModelService;
@@ -83,7 +84,6 @@ import org.apache.isis.commons.collections.ImmutableEnumSet;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.commons.internal.proxy._ProxyFactoryService;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
 import org.apache.isis.core.metamodel.interactions.InteractionHead;
@@ -119,7 +119,7 @@ import lombok.val;
 //@Log4j2
 public class WrapperFactoryDefault implements WrapperFactory {
 
-    @Inject InteractionTracker interactionTracker;
+    @Inject InteractionLayerTracker interactionLayerTracker;
     @Inject FactoryService factoryService;
     @Inject MetaModelContext metaModelContext;
     @Inject SpecificationLoader specificationLoader;
@@ -571,7 +571,7 @@ public class WrapperFactoryDefault implements WrapperFactory {
     }
 
     private InteractionLayer currentInteractionLayer() {
-        return interactionTracker.currentInteractionLayerElseFail();
+        return interactionLayerTracker.currentInteractionLayerElseFail();
     }
 
     private ObjectManager currentObjectManager() {
diff --git a/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java b/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
index a40f166..1729c69 100644
--- a/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
+++ b/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.interaction.session.IsisInteraction;
 
 import lombok.RequiredArgsConstructor;
@@ -40,14 +40,14 @@ import lombok.extern.log4j.Log4j2;
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class LineBreaker {
 
-    final InteractionTracker isisInteractionTracker;
+    final InteractionLayerTracker iInteractionLayerTracker;
 
     @Action(semantics = SemanticsOf.SAFE)
     public void shutdown() {
         log.info("about to shutdown the JVM");
 
         // allow for current interaction to complete gracefully
-        isisInteractionTracker.currentInteraction()
+        iInteractionLayerTracker.currentInteraction()
         .map(IsisInteraction.class::cast)
         .ifPresent(interaction->{
             interaction.setOnClose(()->System.exit(0));
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
index 9b0472b..c1b2587 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacet.java
@@ -325,8 +325,8 @@ implements EntityFacet {
     // -- INTERACTION TRACKER LAZY LOOKUP
 
     // memoizes the lookup, just an optimization
-//    private final _Lazy<InteractionTracker> isisInteractionTrackerLazy = _Lazy.threadSafe(
-//            ()->getServiceRegistry().lookupServiceElseFail(InteractionTracker.class));
+//    private final _Lazy<InteractionLayerTracker> isisInteractionTrackerLazy = _Lazy.threadSafe(
+//            ()->getServiceRegistry().lookupServiceElseFail(InteractionLayerTracker.class));
 
     // -- DEPENDENCIES
 
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/applayer/ApplicationLayerTestFactory.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/applayer/ApplicationLayerTestFactory.java
index b7a15cd..5f93b59 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/applayer/ApplicationLayerTestFactory.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/applayer/ApplicationLayerTestFactory.java
@@ -58,7 +58,7 @@ import org.apache.isis.commons.internal.debug._Probe;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.commons.internal.functions._Functions.CheckedConsumer;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.interactions.managed.PropertyInteraction;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -90,7 +90,7 @@ public class ApplicationLayerTestFactory {
     private final FixtureScripts fixtureScripts;
     private final PreCommitListener preCommitListener;
     private final InteractionService interactionService;
-    private final InteractionTracker interactionTracker;
+    private final InteractionLayerTracker interactionLayerTracker;
 
     @Named("transaction-aware-pmf-proxy")
     private final PersistenceManagerFactory pmf;
@@ -181,7 +181,7 @@ public class ApplicationLayerTestFactory {
             assert_no_initial_tx_context();
 
             final boolean isSuccesfulRun = interactionService.callAnonymous(()->{
-                val currentInteraction = interactionTracker.currentInteraction();
+                val currentInteraction = interactionLayerTracker.currentInteraction();
                 xrayEnterInteraction(currentInteraction);
                 val result = interactionTestRunner.run(given, verifier);
                 xrayExitInteraction();
diff --git a/viewers/restfulobjects/testing/src/main/java/org/apache/isis/viewer/restfulobjects/testing/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java b/viewers/restfulobjects/testing/src/main/java/org/apache/isis/viewer/restfulobjects/testing/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
index cdfc435..33a89e8 100644
--- a/viewers/restfulobjects/testing/src/main/java/org/apache/isis/viewer/restfulobjects/testing/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
+++ b/viewers/restfulobjects/testing/src/main/java/org/apache/isis/viewer/restfulobjects/testing/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
@@ -41,7 +41,7 @@ import org.apache.isis.applib.services.iactn.Interaction;
 import org.apache.isis.applib.services.iactnlayer.InteractionContext;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
 import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -72,7 +72,7 @@ public abstract class ResourceContext_ensureCompatibleAcceptHeader_ContractTest
     @Mock Interaction mockInteraction;
     @Mock SpecificationLoader mockSpecificationLoader;
     @Mock WebApplicationContext webApplicationContext;
-    @Mock InteractionTracker mockIsisInteractionTracker;
+    @Mock InteractionLayerTracker mockInteractionLayerTracker;
     @Mock AuthenticationManager mockAuthenticationManager;
 
     MetaModelContext metaModelContext;
@@ -86,7 +86,7 @@ public abstract class ResourceContext_ensureCompatibleAcceptHeader_ContractTest
                 .specificationLoader(mockSpecificationLoader)
                 .authentication(iaContext)
                 .singleton(mockAuthenticationManager)
-                .singleton(mockIsisInteractionTracker)
+                .singleton(mockInteractionLayerTracker)
                 .singleton(mockInteractionService)
                 .build();
 
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
index d7f65aa..39aada8 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
@@ -50,7 +50,7 @@ import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
 import org.apache.isis.commons.internal.resources._Resources;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -85,8 +85,8 @@ public class DomainObjectResourceServerside extends ResourceAbstract implements
     public DomainObjectResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
         log.debug("<init>");
     }
 
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
index b7e2462..6b7a346 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
@@ -38,9 +38,9 @@ import javax.ws.rs.core.Response;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -70,8 +70,8 @@ public class DomainServiceResourceServerside extends ResourceAbstract implements
     public DomainServiceResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
index 1494137..edab97f 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
@@ -31,9 +31,9 @@ import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.layout.grid.Grid;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facets.object.grid.GridFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
@@ -80,8 +80,8 @@ public class DomainTypeResourceServerside extends ResourceAbstract implements Do
     public DomainTypeResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
index 185fc3c..4a29329 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
@@ -28,8 +28,8 @@ import javax.ws.rs.core.Response;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
@@ -51,8 +51,8 @@ public class HomePageResourceServerside extends ResourceAbstract implements Home
     public HomePageResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
index 75ef54a..7fa84d6 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
@@ -32,7 +32,7 @@ import org.springframework.stereotype.Component;
 import org.apache.isis.commons.internal.base._Bytes;
 import org.apache.isis.commons.internal.resources._Resources;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 
 @Component
@@ -43,8 +43,8 @@ public class ImageResourceServerside extends ResourceAbstract {
     public ImageResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @GET
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
index 8adea86..3647a1c 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
@@ -30,9 +30,9 @@ import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
 import org.apache.isis.applib.layout.links.Link;
 import org.apache.isis.applib.layout.menubars.MenuBars;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.menu.MenuBarsService;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.viewer.restfulobjects.applib.Rel;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
@@ -54,8 +54,8 @@ public class MenuBarsResourceServerside extends ResourceAbstract implements Menu
     public MenuBarsResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
index 2612c29..772dfdd 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
@@ -33,9 +33,9 @@ import javax.ws.rs.ext.Providers;
 
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
@@ -54,7 +54,7 @@ public abstract class ResourceAbstract {
 
     protected final MetaModelContext metaModelContext;
     protected final IsisConfiguration isisConfiguration;
-    protected final InteractionTracker isisInteractionTracker;
+    protected final InteractionLayerTracker iInteractionLayerTracker;
 
     @Context HttpHeaders httpHeaders;
     @Context UriInfo uriInfo;
@@ -68,11 +68,11 @@ public abstract class ResourceAbstract {
     protected ResourceAbstract(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
+            final InteractionLayerTracker iInteractionLayerTracker) {
 
         this.metaModelContext = metaModelContext;
         this.isisConfiguration = isisConfiguration;
-        this.isisInteractionTracker = isisInteractionTracker;
+        this.iInteractionLayerTracker = iInteractionLayerTracker;
     }
 
     // -- FACTORIES
@@ -102,7 +102,7 @@ public abstract class ResourceAbstract {
             final ResourceDescriptor resourceDescriptor,
             final String urlUnencodedQueryString) {
 
-        if (!isisInteractionTracker.isInInteraction()) {
+        if (!iInteractionLayerTracker.isInInteraction()) {
             throw RestfulObjectsApplicationException.create(HttpStatusCode.UNAUTHORIZED);
         }
 
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
index 1207ce5..6befc61 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
@@ -29,8 +29,8 @@ import javax.ws.rs.core.Response;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
@@ -52,8 +52,8 @@ public class UserResourceServerside extends ResourceAbstract implements UserReso
     public UserResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
index f41ff41..5eda597 100644
--- a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
+++ b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
@@ -31,8 +31,8 @@ import javax.ws.rs.core.Response;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
@@ -61,8 +61,8 @@ public class VersionResourceServerside extends ResourceAbstract implements Versi
     public VersionResourceServerside(
             final MetaModelContext metaModelContext,
             final IsisConfiguration isisConfiguration,
-            final InteractionTracker isisInteractionTracker) {
-        super(metaModelContext, isisConfiguration, isisInteractionTracker);
+            final InteractionLayerTracker iInteractionLayerTracker) {
+        super(metaModelContext, isisConfiguration, iInteractionLayerTracker);
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java b/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
index c488a71..f556cf5 100644
--- a/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
+++ b/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
@@ -31,9 +31,9 @@ import org.springframework.web.context.WebApplicationContext;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.MatcherAssert.assertThat;
 
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
 import org.apache.isis.commons.internal.codec._UrlDecoderUtil;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
 import org.apache.isis.core.interaction.session.IsisInteraction;
 import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2.Mode;
@@ -55,7 +55,7 @@ public class ResourceContext_getArg_Test {
     @Mock private ServletContext mockServletContext;
     @Mock private IsisInteraction mockIsisInteraction;
     @Mock private InteractionService mockInteractionService;
-    @Mock private InteractionTracker mockIsisInteractionTracker;
+    @Mock private InteractionLayerTracker mockInteractionLayerTracker;
     @Mock private AuthenticationManager mockAuthenticationManager;
     @Mock private SpecificationLoader mockSpecificationLoader;
     @Mock private WebApplicationContext webApplicationContext;
@@ -72,7 +72,7 @@ public class ResourceContext_getArg_Test {
                 .specificationLoader(mockSpecificationLoader)
                 .singleton(mockInteractionService)
                 .singleton(mockAuthenticationManager)
-                .singleton(mockIsisInteractionTracker)
+                .singleton(mockInteractionLayerTracker)
                 //                .serviceInjector(mockServiceInjector)
                 //                .serviceRegistry(mockServiceRegistry)
                 //                .translationService(mockTranslationService)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/logout/LogoutHandlerWkt.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/logout/LogoutHandlerWkt.java
index 3d3d774..7bc4045 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/logout/LogoutHandlerWkt.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/app/logout/LogoutHandlerWkt.java
@@ -24,7 +24,7 @@ import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.interaction.session.IsisInteraction;
 import org.apache.isis.core.security.authentication.logout.LogoutHandler;
 
@@ -33,7 +33,7 @@ import lombok.val;
 @Service
 public class LogoutHandlerWkt implements LogoutHandler {
 
-    @Inject InteractionTracker isisInteractionTracker;
+    @Inject InteractionLayerTracker iInteractionLayerTracker;
 
     @Override
     public void logout() {
@@ -43,8 +43,8 @@ public class LogoutHandlerWkt implements LogoutHandler {
             return;
         }
 
-        if(isisInteractionTracker.isInInteraction()) {
-            isisInteractionTracker.currentInteraction()
+        if(iInteractionLayerTracker.isInInteraction()) {
+            iInteractionLayerTracker.currentInteraction()
             .map(IsisInteraction.class::cast)
             .ifPresent(interaction->
                 interaction.setOnClose(currentWktSession::invalidateNow));
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java
index 76edac3..aa2a5e9 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/PrototypingMessageProvider.java
@@ -60,7 +60,7 @@ class PrototypingMessageProvider {
 
         final StringBuilder tookTimingMessage = new StringBuilder();
 
-        commonContext().getInteractionTracker().currentInteraction()
+        commonContext().getInteractionLayerTracker().currentInteraction()
         .map(IsisInteraction.class::cast)
         .ifPresent(interaction->{
             val stopWatch = _Timing.atSystemNanos(interaction.getStartedAtSystemNanos());
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
index d837b6a..2661171 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormExecutorDefault.java
@@ -135,7 +135,7 @@ implements FormExecutor {
                 ? ((ActionModel) model).getMetaModel().getFacet(RedirectFacet.class)
                 : null;
 
-            if(commonContext.getInteractionTracker().isInInteraction()) {
+            if(commonContext.getInteractionLayerTracker().isInInteraction()) {
 
                 // flush any queued changes; any concurrency or violation exceptions will actually be thrown here
                 commonContext.getTransactionService().flushTransaction();
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
index a52b6c7..07d3b27 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis.java
@@ -142,7 +142,7 @@ implements BreadcrumbModelProvider, BookmarkedPagesModelProvider, HasCommonConte
 
     public synchronized InteractionContext getAuthentication() {
 
-        commonContext.getInteractionTracker().currentInteractionContext()
+        commonContext.getInteractionLayerTracker().currentInteractionContext()
         .ifPresent(currentAuthentication->{
 
             if (getAuthenticationManager().isSessionValid(currentAuthentication)) {
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
index 2a1e6b3..b19258c 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/LocalizerForIsis.java
@@ -37,7 +37,7 @@ import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.iactnlayer.InteractionService;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.viewer.wicket.viewer.wicketapp.IsisWicketApplication;
 
 import lombok.val;
@@ -48,7 +48,7 @@ import lombok.val;
  */
 public class LocalizerForIsis extends Localizer {
 
-    @Inject private InteractionTracker interactionTracker;
+    @Inject private InteractionLayerTracker interactionLayerTracker;
     @Inject private InteractionService interactionService;
     @Inject private TranslationService translationService;
 
@@ -76,7 +76,7 @@ public class LocalizerForIsis extends Localizer {
     protected String translate(final String key, final Component component) {
         final Class<?> contextClass = determineContextClassElse(component, IsisWicketApplication.class);
         final TranslationContext context = TranslationContext.forClassName(contextClass);
-        if(interactionTracker.isInInteraction()) {
+        if(interactionLayerTracker.isInInteraction()) {
             return translate(key, context);
         } else {
             return interactionService.callAnonymous(()->translate(key, context));
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
index 378dff6..d1b53c9 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/WebRequestCycleForIsis.java
@@ -493,7 +493,7 @@ public class WebRequestCycleForIsis implements IRequestCycleListener {
     }
 
     private boolean isInInteraction() {
-        return getCommonContext().getInteractionTracker().isInInteraction();
+        return getCommonContext().getInteractionLayerTracker().isInInteraction();
     }
 
     private Optional<MessageBroker> getMessageBroker() {
diff --git a/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java b/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java
index ad76559..bd6c98f 100644
--- a/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java
+++ b/viewers/wicket/viewer/src/test/java/org/apache/isis/viewer/wicket/viewer/integration/AuthenticatedWebSessionForIsis_Authenticate.java
@@ -39,7 +39,7 @@ import org.apache.isis.applib.services.iactnlayer.ThrowingRunnable;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.applib.services.session.SessionLoggingService;
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.applib.services.iactnlayer.InteractionTracker;
+import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
 import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.runtime.context.IsisAppCommonContext;
 import org.apache.isis.core.security._testing.InteractionService_forTesting;
@@ -63,7 +63,7 @@ public class AuthenticatedWebSessionForIsis_Authenticate {
     @Mock protected Authenticator mockAuthenticator;
     @Mock protected IsisAppCommonContext mockCommonContext;
     @Mock protected InteractionService mockInteractionService;
-    @Mock protected InteractionTracker mockInteractionTracker;
+    @Mock protected InteractionLayerTracker mockInteractionLayerTracker;
     @Mock protected ServiceRegistry mockServiceRegistry;
 
     protected AuthenticatedWebSessionForIsis webSession;
@@ -86,10 +86,10 @@ public class AuthenticatedWebSessionForIsis_Authenticate {
                 allowing(mockCommonContext).lookupServiceElseFail(InteractionService.class);
                 will(returnValue(mockInteractionService));
 
-                allowing(mockCommonContext).getInteractionTracker();
-                will(returnValue(mockInteractionTracker));
+                allowing(mockCommonContext).getInteractionLayerTracker();
+                will(returnValue(mockInteractionLayerTracker));
 
-                allowing(mockInteractionTracker).currentInteractionContext();
+                allowing(mockInteractionLayerTracker).currentInteractionContext();
                 will(returnValue(Optional.of(InteractionContextFactory.testing())));
 
                 allowing(mockInteractionService)