refactor(node-watcher): adapt to new DI architecture

This commit moves the node watcher code to the presentation layer and
adapts it to be ready to use DI. Thus, the node watcher is separated
into a port and adapter.

Bug: twpowertools:226
Change-Id: Id36d5407ff478006eb8c057db1dcad05fd30b7d6
diff --git a/src/features/autoRefresh/nodeWatcherHandlers/threadListHide.handler.ts b/src/features/autoRefresh/nodeWatcherHandlers/threadListHide.handler.ts
index d0a41de..9712c00 100644
--- a/src/features/autoRefresh/nodeWatcherHandlers/threadListHide.handler.ts
+++ b/src/features/autoRefresh/nodeWatcherHandlers/threadListHide.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutationType } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutationType } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { AutoRefreshNodeWatcherDependencies } from '../scripts/nodeWatcher.script';
 
 /**
diff --git a/src/features/ccDarkTheme/nodeWatcherHandlers/ecApp.handler.ts b/src/features/ccDarkTheme/nodeWatcherHandlers/ecApp.handler.ts
index 12d50bb..fee1ffd 100644
--- a/src/features/ccDarkTheme/nodeWatcherHandlers/ecApp.handler.ts
+++ b/src/features/ccDarkTheme/nodeWatcherHandlers/ecApp.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { injectDarkThemeButton } from '../core/logic/darkTheme';
 import { CCDarkThemeNodeWatcherDependencies } from '../scripts/nodeWatcher.script';
 
diff --git a/src/features/ccDarkTheme/nodeWatcherHandlers/reportDialog.handler.ts b/src/features/ccDarkTheme/nodeWatcherHandlers/reportDialog.handler.ts
index 83942e5..42c7a59 100644
--- a/src/features/ccDarkTheme/nodeWatcherHandlers/reportDialog.handler.ts
+++ b/src/features/ccDarkTheme/nodeWatcherHandlers/reportDialog.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCDarkThemeNodeWatcherDependencies } from '../scripts/nodeWatcher.script';
 
 /**
diff --git a/src/features/ccDarkTheme/nodeWatcherHandlers/unifiedProfilesIframe.handler.ts b/src/features/ccDarkTheme/nodeWatcherHandlers/unifiedProfilesIframe.handler.ts
index b71b9a7..6343834 100644
--- a/src/features/ccDarkTheme/nodeWatcherHandlers/unifiedProfilesIframe.handler.ts
+++ b/src/features/ccDarkTheme/nodeWatcherHandlers/unifiedProfilesIframe.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { isDarkThemeOn } from '../core/logic/darkTheme';
 import { unifiedProfilesFix } from '../core/logic/unifiedProfiles';
 import { CCDarkThemeNodeWatcherDependencies } from '../scripts/nodeWatcher.script';
diff --git a/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfileAbuseChips.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfileAbuseChips.handler.ts
index 7cc895a..482a456 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfileAbuseChips.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfileAbuseChips.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 export default class CCExtraInfoProfileAbuseChipsHandler extends CssSelectorNodeWatcherScriptHandler<CCExtraInfoMainOptions> {
diff --git a/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfilePerForumStats.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfilePerForumStats.handler.ts
index d08db21..bd2bb1c 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfilePerForumStats.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/profile/ccExtraInfoProfilePerForumStats.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 export default class CCExtraInfoProfilePerForumStatsHandler extends CssSelectorNodeWatcherScriptHandler<CCExtraInfoMainOptions> {
diff --git a/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadComment.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadComment.handler.ts
index 802dc51..5527e1a 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadComment.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadComment.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 /**
diff --git a/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadQuestion.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadQuestion.handler.ts
index 0d16772..028b9a3 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadQuestion.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadQuestion.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 /**
diff --git a/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadReply.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadReply.handler.ts
index 543ddb0..94ad753 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadReply.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/thread/ccExtraInfoThreadReply.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 /**
diff --git a/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadList.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadList.handler.ts
index 5d26037..d2e7008 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadList.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadList.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 /**
diff --git a/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadListToolbelt.handler.ts b/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadListToolbelt.handler.ts
index b6ef4dc..d28f6f8 100644
--- a/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadListToolbelt.handler.ts
+++ b/src/features/extraInfo/nodeWatcherHandlers/threadList/ccExtraInfoThreadListToolbelt.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { CCExtraInfoMainOptions } from '../../scripts/ccExtraInfoMain.script';
 
 /**
diff --git a/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBar.handler.ts b/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBar.handler.ts
index e9f04ff..5c2d308 100644
--- a/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBar.handler.ts
+++ b/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBar.handler.ts
@@ -1,4 +1,4 @@
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
 import { InfiniteScrollNodeWatcherOptions } from '../scripts/ccInfiniteScroll.script';
 
diff --git a/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBtn.handler.ts b/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBtn.handler.ts
index 8bf6fd2..1ab8644 100644
--- a/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBtn.handler.ts
+++ b/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollLoadMoreBtn.handler.ts
@@ -1,4 +1,4 @@
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
 import { InfiniteScrollNodeWatcherOptions } from '../scripts/ccInfiniteScroll.script';
 
diff --git a/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollSetUp.handler.ts b/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollSetUp.handler.ts
index 60331a0..b36e0b9 100644
--- a/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollSetUp.handler.ts
+++ b/src/features/infiniteScroll/nodeWatcherHandlers/ccInfiniteScrollSetUp.handler.ts
@@ -1,4 +1,4 @@
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
 import { InfiniteScrollNodeWatcherOptions } from '../scripts/ccInfiniteScroll.script';
 
diff --git a/src/features/workflows/nodeWatcherHandlers/crTags.handler.ts b/src/features/workflows/nodeWatcherHandlers/crTags.handler.ts
index fbaee19..040c5ed 100644
--- a/src/features/workflows/nodeWatcherHandlers/crTags.handler.ts
+++ b/src/features/workflows/nodeWatcherHandlers/crTags.handler.ts
@@ -1,5 +1,5 @@
 import CssSelectorNodeWatcherScriptHandler from '../../../common/architecture/scripts/nodeWatcher/handlers/CssSelectorNodeWatcherScriptHandler';
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { WorkflowsNodeWatcherDependencies } from '../scripts/nodeWatcher.script';
 
 /**
diff --git a/src/features/workflows/nodeWatcherHandlers/threadListActionBar.handler.ts b/src/features/workflows/nodeWatcherHandlers/threadListActionBar.handler.ts
index ff62487..ab23f11 100644
--- a/src/features/workflows/nodeWatcherHandlers/threadListActionBar.handler.ts
+++ b/src/features/workflows/nodeWatcherHandlers/threadListActionBar.handler.ts
@@ -1,5 +1,5 @@
 import { NodeWatcherScriptHandler } from '../../../common/architecture/scripts/nodeWatcher/handlers/NodeWatcherScriptHandler';
-import { NodeMutation } from '../../../common/nodeWatcher/NodeWatcherHandler';
+import { NodeMutation } from '../../../presentation/nodeWatcher/NodeWatcherHandler';
 import { WorkflowsNodeWatcherDependencies } from '../scripts/nodeWatcher.script';
 
 /**