diff --git a/src/aura_engine/app.py b/src/aura_engine/app.py
index 6af8781ece7bde3b4cf07f9249f03cfc54eff300..a0ef502c008d3ab60dfb11047ac3057e8eb6f560 100755
--- a/src/aura_engine/app.py
+++ b/src/aura_engine/app.py
@@ -40,8 +40,8 @@ class EngineRunner:
     """
 
     logger: logging.Logger
-    config = confuse.Configuration
-    engine = None
+    config: confuse.Configuration
+    engine: Engine
 
     def __init__(self):
         """
diff --git a/src/aura_engine/base/config.py b/src/aura_engine/base/config.py
index 572c7fa23a4aa7fb9bc3dc5bfe63a171b9ad322e..beee1bdcc51c70ffaa9cc5659fb27e9ea3186185 100644
--- a/src/aura_engine/base/config.py
+++ b/src/aura_engine/base/config.py
@@ -82,8 +82,8 @@ class AuraConfig:
     _instance = None
     config_file_path = ""
     confuse_config = None
-    config = None  # points to a validated config (hopefully later)
-    logger = None
+    config: confuse.Configuration = None  # TODO points to a validated config (hopefully later)
+    logger: logging.Logger = None
 
     @classmethod
     @property
diff --git a/src/aura_engine/core/channels.py b/src/aura_engine/core/channels.py
index 9a8d35413f16b6e5975ce1cc51ec24b3332f4b24..7af09d7b067f69fe9aa7cca5317810a7695a40a5 100644
--- a/src/aura_engine/core/channels.py
+++ b/src/aura_engine/core/channels.py
@@ -570,6 +570,9 @@ class ChannelFactory:
     A factory to construct channels based on a given channel name.
     """
 
+    logger: logging.Logger
+    config: confuse.Configuration
+
     def __init__(self, mixer):
         """
         Initialize the channel factory.
diff --git a/src/aura_engine/core/client.py b/src/aura_engine/core/client.py
index 96704b8a1174a84a896fd3e5d15e96d197e09117..f0f6cc6ee20a16957901f598c805b43061402acb 100644
--- a/src/aura_engine/core/client.py
+++ b/src/aura_engine/core/client.py
@@ -25,6 +25,8 @@ import logging
 import socket
 import urllib.parse
 
+import confuse
+
 from aura_engine.base.config import AuraConfig
 from aura_engine.base.lang import private, synchronized
 from aura_engine.base.utils import SimpleUtil as SU
@@ -40,7 +42,8 @@ class CoreClient:
     skip_log_commands = ("aura_engine.status", "mixer.volume")
 
     instance = None
-    logger = None
+    logger: logging.Logger
+    config: confuse.Configuration
     connection = None
     event_dispatcher = None
     conn = None
@@ -223,7 +226,8 @@ class CoreConnection:
 
     ENCODING = "UTF-8"
 
-    logger = None
+    logger: logging.Logger
+    config: confuse.Configuration
     socket_path = None
     socket = None
     connected = None
diff --git a/src/aura_engine/core/mixer.py b/src/aura_engine/core/mixer.py
index ca933fce70ccb10be26a906f438d008c03501381..13a7519e458bedcb48f9906ba5df5ca15e3849d6 100644
--- a/src/aura_engine/core/mixer.py
+++ b/src/aura_engine/core/mixer.py
@@ -27,6 +27,8 @@ set of channels with their own control options.
 import logging
 import time
 
+import confuse
+
 from aura_engine.base.api import LiquidsoapUtil as LU
 from aura_engine.base.config import AuraConfig
 from aura_engine.base.lang import private
@@ -44,8 +46,8 @@ class Mixer:
     A virtual mixer.
     """
 
-    config = None
-    logger = None
+    logger: logging.Logger
+    config: confuse.Configuration
     client = None
     mixer_id = None
     channels = None
@@ -63,8 +65,8 @@ class Mixer:
             client (PlayoutClient): The client for controlling playout
 
         """
-        self.config = AuraConfig.instance.config
         self.logger = logging.getLogger("engine")
+        self.config = AuraConfig.instance.config
         self.mixer_id = mixer_id
         self.client = client
         self.channel_names = []
diff --git a/src/aura_engine/engine.py b/src/aura_engine/engine.py
index dfc5c00f87a94693336dced17d91cb58aecad3c5..424d0f7fa1fca29006c118572ba8106d8c0ad748 100644
--- a/src/aura_engine/engine.py
+++ b/src/aura_engine/engine.py
@@ -29,6 +29,7 @@ import time
 from contextlib import suppress
 from enum import Enum
 
+import confuse
 import tomli
 
 from aura_engine.base.api import LiquidsoapUtil as LU
@@ -55,8 +56,9 @@ class Engine:
     """
 
     instance = None
+    logger: logging.Logger
+    config: confuse.Configuration
     engine_time_offset = 0.0
-    logger = None
     scheduler = None
     event_dispatcher = None
     client = None
@@ -258,8 +260,8 @@ class Player:
         INSTANT = "instant"
         FADE = "fade"
 
-    config = None
-    logger = None
+    logger: logging.Logger
+    config: confuse.Configuration
     channels = None
     resource_map = None
     event_dispatcher = None
diff --git a/src/aura_engine/events.py b/src/aura_engine/events.py
index 172dce0d27c6a86a62e8ad212e115e078e4d4a26..9deacedd947204de4f5a7a829fe9ec9975bfaa35 100644
--- a/src/aura_engine/events.py
+++ b/src/aura_engine/events.py
@@ -25,6 +25,8 @@ import datetime
 import logging
 from threading import Thread
 
+import confuse
+
 from aura_engine.base.config import AuraConfig
 from aura_engine.scheduling.domain import PlaylistItem
 from aura_engine.scheduling.scheduler import AuraScheduler
@@ -71,8 +73,8 @@ class EngineEventDispatcher:
     Execute handlers for engine events.
     """
 
-    logger = None
-    config = None
+    logger: logging.Logger
+    config: confuse.Configuration
 
     subscriber_registry = None
     engine = None
diff --git a/src/aura_engine/plugins/clock.py b/src/aura_engine/plugins/clock.py
index ea6c6dd13b15dd56c1b4673277a0911f5c27f478..44991ea0bcd33b2e0a967a90ff2e1512117bab62 100644
--- a/src/aura_engine/plugins/clock.py
+++ b/src/aura_engine/plugins/clock.py
@@ -31,6 +31,8 @@ TODO Refacotr: It should be reviewed if it's worth storing all the current, addi
 import logging
 from datetime import datetime, timedelta
 
+import confuse
+
 import aura_engine.scheduling.domain as domain
 from aura_engine.base.api import SimpleRestApi
 from aura_engine.base.config import AuraConfig
@@ -43,8 +45,8 @@ class ClockInfoHandler:
     Send current studio clock information to the Engine API endpoint.
     """
 
-    logger = None
-    config = None
+    logger: logging.Logger
+    config: confuse.Configuration
     api = None
     engine = None
 
diff --git a/src/aura_engine/scheduling/api.py b/src/aura_engine/scheduling/api.py
index f03f58c01c5583c5674d916aa3d1bf9aed2dc5b2..ee1e624890464f1581d6eb9479dc034326ca9817 100644
--- a/src/aura_engine/scheduling/api.py
+++ b/src/aura_engine/scheduling/api.py
@@ -64,8 +64,8 @@ class ApiFetcher(threading.Thread):
 
     """
 
-    config: confuse.Configuration
     logging: logging.Logger
+    config: confuse.Configuration
     queue = None
     has_already_fetched = False
     stop_event = None
diff --git a/src/aura_engine/scheduling/scheduler.py b/src/aura_engine/scheduling/scheduler.py
index 5ca45fd364681ff431e848c9cbd9b6beccd4ce66..234b4e92f058950706aeb62090b79194a5b27392 100644
--- a/src/aura_engine/scheduling/scheduler.py
+++ b/src/aura_engine/scheduling/scheduler.py
@@ -134,7 +134,7 @@ class PlayCommand(EngineExecutor):
     """
 
     engine: engine.Engine = None
-    config: AuraConfig = None
+    config: confuse.Configuration
 
     def __init__(self, engine: engine.Engine, items: [PlaylistItem]):
         """Initialize the play command.
@@ -226,7 +226,7 @@ class AuraScheduler(threading.Thread):
     TimeslotCommandClass: EngineExecutor = TimeslotCommand
     PlayCommandClass: EngineExecutor = PlayCommand
 
-    config: AuraConfig
+    config: confuse.Configuration
     logger: logging.Logger
     engine: engine.Engine
     timetable: timetable.TimetableService
diff --git a/src/aura_engine/scheduling/utils.py b/src/aura_engine/scheduling/utils.py
index 16ddda32cc337b90a980740bbecee8dfa2ff8d62..6308b1d65de7bf0c00e03823970bf698f7fa9bde 100644
--- a/src/aura_engine/scheduling/utils.py
+++ b/src/aura_engine/scheduling/utils.py
@@ -26,6 +26,8 @@ from __future__ import annotations
 
 import logging
 
+import confuse
+
 import aura_engine.scheduling as scheduling
 from aura_engine.base.config import AuraConfig
 from aura_engine.base.utils import SimpleUtil as SU
@@ -38,15 +40,15 @@ class M3UPlaylistProcessor:
     Render a M3U Playlist as a engine compatible playlist dictionary.
     """
 
-    config = None
-    logging = None
+    logging: logging.Logger
+    config: confuse.Configuration
     playlist_folder = None
 
     def __init__(self):
         """
         Initialize.
         """
-        self.config = AuraConfig.instance
+        self.config = AuraConfig.instance.config
         self.logger = logging.getLogger("engine")
         self.playlist_folder = ResourceUtil.playlist_folder_path()