diff --git a/src/app/features/deposit/components/dialogs/abstract-deposit-file-upload/abstract-deposit-file-upload.dialog.ts b/src/app/features/deposit/components/dialogs/abstract-deposit-file-upload/abstract-deposit-file-upload.dialog.ts
index fcc301f95d2a7a31c7724208cbad91480425b9f6..96fc14c28d44813ca33d58c699579dd2cc77cee1 100644
--- a/src/app/features/deposit/components/dialogs/abstract-deposit-file-upload/abstract-deposit-file-upload.dialog.ts
+++ b/src/app/features/deposit/components/dialogs/abstract-deposit-file-upload/abstract-deposit-file-upload.dialog.ts
@@ -1,4 +1,7 @@
-import {OnInit} from "@angular/core";
+import {
+  Directive,
+  OnInit,
+} from "@angular/core";
 import {
   AbstractControl,
   FormBuilder,
@@ -23,6 +26,7 @@ import {
   ResourceNameSpace,
 } from "solidify-frontend";
 
+@Directive()
 export abstract class AbstractDepositFileUploadDialog extends SharedAbstractContainer implements OnInit {
   form: FormGroup;
   formDefinition: AbstractDepositFileUploadFormComponentFormDefinition = new AbstractDepositFileUploadFormComponentFormDefinition();
diff --git a/src/app/shared/components/dialogs/shared-abstract-delete/shared-abstract-delete.dialog.ts b/src/app/shared/components/dialogs/shared-abstract-delete/shared-abstract-delete.dialog.ts
index 28503ddbd47932449a1cdbbbac533f781217deed..6f46427248f5753131b5113fae03501b9d3bc940 100644
--- a/src/app/shared/components/dialogs/shared-abstract-delete/shared-abstract-delete.dialog.ts
+++ b/src/app/shared/components/dialogs/shared-abstract-delete/shared-abstract-delete.dialog.ts
@@ -1,4 +1,5 @@
 import {
+  Directive,
   Inject,
   OnInit,
 } from "@angular/core";
@@ -17,6 +18,7 @@ import {
   ResourceStateModel,
 } from "solidify-frontend";
 
+@Directive()
 export abstract class SharedAbstractDeleteDialog<TResource, UStateResource extends ResourceStateModel<TResource>> extends SharedAbstractContainer implements OnInit {
   paramMessage: { name: string } = {name: ""};
 
diff --git a/src/app/shared/components/routables/shared-abstract-create/shared-abstract-create.routable.ts b/src/app/shared/components/routables/shared-abstract-create/shared-abstract-create.routable.ts
index f03423e24542385678a80b13c7bd2b38c5a9d483..1cc58301149be548a10efefd6b07d67b81d63bbd 100644
--- a/src/app/shared/components/routables/shared-abstract-create/shared-abstract-create.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract-create/shared-abstract-create.routable.ts
@@ -1,5 +1,6 @@
 import {
   ChangeDetectorRef,
+  Directive,
   OnDestroy,
   OnInit,
 } from "@angular/core";
@@ -27,6 +28,7 @@ import {
 } from "solidify-frontend";
 import {LocalStateEnum} from "../../../enums/local-state.enum";
 
+@Directive()
 export abstract class SharedAbstractCreateRoutable<TResourceModel extends BaseResourceType, UResourceStateModel extends ResourceStateModel<TResourceModel>> extends SharedAbstractCrudRoutable<TResourceModel, UResourceStateModel> implements OnInit, OnDestroy {
   isLoadingObs: Observable<boolean>;
   urlQueryParameters: MappingObject<string | undefined>;
diff --git a/src/app/shared/components/routables/shared-abstract-detail-edit-common/shared-abstract-detail-edit-common.routable.ts b/src/app/shared/components/routables/shared-abstract-detail-edit-common/shared-abstract-detail-edit-common.routable.ts
index 9598ac83b69f271a1c2e8cd516a3371db922f52a..a9a2f8b758749392588058a4cf527f448055a956 100644
--- a/src/app/shared/components/routables/shared-abstract-detail-edit-common/shared-abstract-detail-edit-common.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract-detail-edit-common/shared-abstract-detail-edit-common.routable.ts
@@ -1,5 +1,6 @@
 import {
   ChangeDetectorRef,
+  Directive,
   OnDestroy,
   OnInit,
 } from "@angular/core";
@@ -24,6 +25,7 @@ import {
   ResourceStateModel,
 } from "solidify-frontend";
 
+@Directive()
 export abstract class SharedAbstractDetailEditCommonRoutable<TResourceModel extends BaseResourceType, UResourceStateModel extends ResourceStateModel<TResourceModel>>
   extends SharedAbstractDetailEditRoutable<TResourceModel, UResourceStateModel> implements OnInit, OnDestroy {
   abstract readonly KEY_PARAM_NAME: keyof TResourceModel & string;
diff --git a/src/app/shared/components/routables/shared-abstract-home/shared-abstract-home.routable.ts b/src/app/shared/components/routables/shared-abstract-home/shared-abstract-home.routable.ts
index afc5c7f15ef6ed5abeede08a39a89a89484028eb..3b82229219149cac69338124e9f9df47b21c8637 100644
--- a/src/app/shared/components/routables/shared-abstract-home/shared-abstract-home.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract-home/shared-abstract-home.routable.ts
@@ -1,4 +1,7 @@
-import {OnInit} from "@angular/core";
+import {
+  Directive,
+  OnInit,
+} from "@angular/core";
 import {AppState} from "@app/stores/app.state";
 import {Enums} from "@enums";
 import {TranslateService} from "@ngx-translate/core";
@@ -16,6 +19,7 @@ import {
   StringUtil,
 } from "solidify-frontend";
 
+@Directive()
 export abstract class SharedAbstractHomeRoutable extends SharedAbstractPresentational implements OnInit {
   searchValueInUrl: string = StringUtil.stringEmpty;
 
diff --git a/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts b/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts
index c4a7382c26e51118392bb0c4ea9644c212e6ab87..47a55b8c3d475af3ee5454a257973eac64303866 100644
--- a/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts
@@ -2,6 +2,7 @@ import {ComponentType} from "@angular/cdk/overlay";
 import {
   AfterViewInit,
   ChangeDetectorRef,
+  Directive,
   ElementRef,
   OnInit,
   ViewChild,
@@ -40,6 +41,7 @@ import {
   StoreUtil,
 } from "solidify-frontend";
 
+@Directive()
 export abstract class SharedAbstractListRoutable<TResourceModel extends BaseResourceType, UResourceStateModel extends ResourceStateModel<TResourceModel>> extends SharedAbstractCrudRoutable<TResourceModel, UResourceStateModel> implements OnInit, AfterViewInit {
   isLoadingObs: Observable<boolean>;
   listObs: Observable<TResourceModel[]>;
diff --git a/src/app/shared/components/routables/shared-can-deactivate/shared-can-deactivate.routable.ts b/src/app/shared/components/routables/shared-can-deactivate/shared-can-deactivate.routable.ts
index 0a3c40c1bf275bf3f5d717ffd750a046396637b1..fc92b2308f0913d2080f39b197af459467719c08 100644
--- a/src/app/shared/components/routables/shared-can-deactivate/shared-can-deactivate.routable.ts
+++ b/src/app/shared/components/routables/shared-can-deactivate/shared-can-deactivate.routable.ts
@@ -1,7 +1,11 @@
-import {HostListener} from "@angular/core";
+import {
+  Directive,
+  HostListener,
+} from "@angular/core";
 import {SharedAbstractRoutable} from "@shared/components/routables/shared-abstract/shared-abstract.routable";
 import {ICanDeactivate} from "@shared/models/can-deactivate.model";
 
+@Directive()
 export abstract class CanDeactivateRoutable extends SharedAbstractRoutable implements ICanDeactivate {
   abstract canDeactivate(): boolean;
 
diff --git a/src/app/shared/directives/shared-abstract-spinner/shared-abstract-spinner.directive.ts b/src/app/shared/directives/shared-abstract-spinner/shared-abstract-spinner.directive.ts
index 80536f80743c7a330dadb3b91d04c27454cc0859..3ffa44df8f1c8304df85d8c06986e1446fc7f7d3 100644
--- a/src/app/shared/directives/shared-abstract-spinner/shared-abstract-spinner.directive.ts
+++ b/src/app/shared/directives/shared-abstract-spinner/shared-abstract-spinner.directive.ts
@@ -1,5 +1,6 @@
 import {
   ComponentFactoryResolver,
+  Directive,
   ElementRef,
   OnInit,
   Renderer2,
@@ -12,6 +13,7 @@ import {
   isTrue,
 } from "solidify-frontend";
 
+@Directive()
 export abstract class SharedAbstractSpinnerDirective extends SharedAbstractDirective implements OnInit {
   protected _isReady: boolean;
   protected _show: boolean;
diff --git a/src/app/shared/stores/dlcm-resource/dlcm-resource.state.ts b/src/app/shared/stores/dlcm-resource/dlcm-resource.state.ts
index 2b7026ca355ac85dc2a86e9c01d1204a26eababd..6bb68cac6376455d1059e17ad7e09871ccd9c93c 100644
--- a/src/app/shared/stores/dlcm-resource/dlcm-resource.state.ts
+++ b/src/app/shared/stores/dlcm-resource/dlcm-resource.state.ts
@@ -22,6 +22,7 @@ import {
   ResourceState,
   SolidifyStateError,
 } from "solidify-frontend";
+import {BaseStateModel} from "solidify-frontend/lib/models";
 import {DlcmResourceActionHelper} from "./dlcm-resource-action.helper";
 import {DlcmResourceNameSpace} from "./dlcm-resource-namespace.model";
 import {DlcmResourceStateModel} from "./dlcm-resource-state.model";
@@ -32,7 +33,7 @@ export const defaultDlcmResourceStateInitValue: DlcmResourceStateModel<BaseResou
   isLoadingHistoryCounter: 0,
 };
 
-export abstract class DlcmResourceState<TResource extends BaseResourceType> extends ResourceState<BaseResourceType, TResource> {
+export abstract class DlcmResourceState<TResource extends BaseResourceType> extends ResourceState<BaseStateModel, TResource> {
   protected readonly _nameSpace: DlcmResourceNameSpace;
 
   protected constructor(protected apiService: ApiService,