diff --git a/.gitignore b/.gitignore
index bc5d335c04339f406e86c950ca358ccf620557f8..99c11f8ebdf7a0a8d4f2bb69ebf56f4cd2615e17 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 SkywardHub.pro.user
 SkywardHub.pro.user.*
 SkywardHub.pro.user.*
+.build
diff --git a/Components/ErrorDisplayer/errordisplayer.cpp b/Components/ErrorDisplayer/errordisplayer.cpp
index 436f95304e1f7bd7951d4d06c934442333deea10..79aa960ed2c7661322349889e13d95e71c55a616 100644
--- a/Components/ErrorDisplayer/errordisplayer.cpp
+++ b/Components/ErrorDisplayer/errordisplayer.cpp
@@ -34,26 +34,4 @@ void ErrorDisplayer::removeError(Error* error){
 void ErrorDisplayer::reposition() {
   adjustSize();
   move(parent->width() - width(), parent->height() - height());
-}
-
-
-
-QMap<QObject*, ErrorDisplayer*> ErrorDisplayerProxy::displayers;
-
-ErrorDisplayer *ErrorDisplayerProxy::createErrorDisplayer(QWidget* window) {
-    ErrorDisplayer* displayer =  new ErrorDisplayer(window);
-    ErrorDisplayerProxy::displayers[window] = displayer;
-    return displayer;
-}
-
-ErrorDisplayer *ErrorDisplayerProxy::getErrorDisplayer(QWidget* widget) {
-    QObject* parent = widget;
-    while (!ErrorDisplayerProxy::displayers.contains(parent)){
-      parent = parent->parent();
-    }
-    return ErrorDisplayerProxy::displayers[parent];
-}
-
-void ErrorDisplayerProxy::removeErrorDisplayer(QWidget* window){
-  ErrorDisplayerProxy::displayers.remove(window);
-}
+}
\ No newline at end of file
diff --git a/Components/ErrorDisplayer/errordisplayer.h b/Components/ErrorDisplayer/errordisplayer.h
index 139e1b656b787773d4b1d12c6b4d4b50ee57ae27..38544ca29b519bd5057e5497beeba3ae2349d046 100644
--- a/Components/ErrorDisplayer/errordisplayer.h
+++ b/Components/ErrorDisplayer/errordisplayer.h
@@ -34,15 +34,4 @@ class ErrorDisplayer : public QWidget {
 
 };
 
-class ErrorDisplayerProxy {
-
-  public:
-    static ErrorDisplayer* createErrorDisplayer(QWidget* window);
-    static ErrorDisplayer* getErrorDisplayer(QWidget* widget);
-    static void removeErrorDisplayer(QWidget* window);
-
-  private:
-    static QMap<QObject*, ErrorDisplayer*> displayers;
-};
-
 #endif // ERRORDISPLAYER_H
diff --git a/Modules/DefaultModule/defaultmodule.cpp b/Modules/DefaultModule/defaultmodule.cpp
index 9608e3fdae2ad7451ceb6e6c2449bf6363291360..b5ee6214e1bb973b200c8ff54d92385092f0af26 100644
--- a/Modules/DefaultModule/defaultmodule.cpp
+++ b/Modules/DefaultModule/defaultmodule.cpp
@@ -103,3 +103,7 @@ Window* DefaultModule::getWindow(){
   }
   return dynamic_cast<Window*>(parent);
 }
+
+void DefaultModule::error(QString title, QString description){
+    getWindow()->errorDisplayer->createError(title, description);
+}
\ No newline at end of file
diff --git a/Modules/DefaultModule/defaultmodule.h b/Modules/DefaultModule/defaultmodule.h
index b68b8cf79497ddb5852fc151c3eb4c4862dd6044..8229cf305c1b85fc69e658f02bc1ed7d61b171ec 100644
--- a/Modules/DefaultModule/defaultmodule.h
+++ b/Modules/DefaultModule/defaultmodule.h
@@ -35,6 +35,8 @@ class DefaultModule : public QWidget, public Module {
     virtual void onReplaceClicked();
     virtual void onCloseClicked();
 
+    void error(QString title, QString description);
+
   private:
     SkywardHubCoreProxy proxyCore;
     QList<QAction*> menuActions;
diff --git a/Modules/MainWindow/window.cpp b/Modules/MainWindow/window.cpp
index 0f510bef500aadb75a181bacf288adec73e82c7d..e9b2798620dbff74638565fb46c9f1657bb2e31a 100644
--- a/Modules/MainWindow/window.cpp
+++ b/Modules/MainWindow/window.cpp
@@ -7,12 +7,11 @@
 
 Window::Window(QWidget *parent) : QWidget(parent), ui(new Ui::Window) {
     ui->setupUi(this);
-    errorDisplayer = ErrorDisplayerProxy::createErrorDisplayer(this);
+    errorDisplayer = new ErrorDisplayer(this);
 }
 
 Window::~Window() {
     delete ui;
-    ErrorDisplayerProxy::removeErrorDisplayer(this);
     delete errorDisplayer;
 }
 
diff --git a/Modules/MainWindow/window.h b/Modules/MainWindow/window.h
index 56e1a65bed7ba694eee43c65e333aa9436e2dd11..762bc896a3e023de7389225938f3d117da980cdc 100644
--- a/Modules/MainWindow/window.h
+++ b/Modules/MainWindow/window.h
@@ -24,6 +24,8 @@ class Window : public QWidget {
 
     void setCentralModule(Module *value);
 
+    ErrorDisplayer* errorDisplayer;
+
   protected:
     void closeEvent(QCloseEvent *event) override;
     void onWidgetDestroyed();
@@ -33,7 +35,6 @@ class Window : public QWidget {
   private:
     Ui::Window *ui;
     Module *centralModule = nullptr;
-    ErrorDisplayer* errorDisplayer;
 };
 
 #endif // WINDOW_H