diff --git a/CMakeLists.txt b/CMakeLists.txt
index dcbea4cf87edecdd8b24ebbe236cb2024b4a1f48..508562cbeeb06353501bef996560404984a99458 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -156,7 +156,6 @@ set(lektor_module_SOURCES
 
     src/module/module_qt_window.cc
     src/module/qt_window/mpvwidget.cc
-    src/module/qt_window/mpvwidget_interface.cc
     src/module/qt_window/mainwindow.cc
 )
 
diff --git a/src/module/module_qt_window.cc b/src/module/module_qt_window.cc
index 22cf54572a973b47444029180d660e32f954f0e8..e9132fbb8fa41d1a0485e3d2e92efc9877566b57 100644
--- a/src/module/module_qt_window.cc
+++ b/src/module/module_qt_window.cc
@@ -1,11 +1,13 @@
 #define __LKT_MODULE_MAIN_SOURCE__
 #include "module_qt_window.hh"
 
+#include <QApplication>
+
 #include <lektor/lktmodule.h>
 #include <sched.h>
 #include "mpv.h"
 
-#include "qt_window/mpvwidget_interface.hh"
+#include "qt_window/mainwindow.hh"
 
 /************************
  * Function definitions *
@@ -68,7 +70,7 @@ mod_toggle_pause(va_list *va)
     va_copy(copy, *va);
     struct module_qt_window_s **win =
         reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
-    bool ret = ___module_qt_window_toggle_pause(*win);
+    bool ret = (*win)->mpv_widget->toggle_pause();
     va_end(copy);
     return !ret;
 }
@@ -81,7 +83,7 @@ mod_load_file(va_list *va)
     struct module_qt_window_s **win =
         reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
     const char *file = va_arg(copy, const char *);
-    const bool ret   = ___module_qt_window_load_file(*win, file);
+    const bool ret   = (*win)->mpv_widget->load_file(file);
     va_end(copy);
     return !ret;
 }
@@ -94,7 +96,7 @@ mod_set_volume(va_list *va)
     struct module_qt_window_s **win =
         reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
     const int volume = va_arg(copy, int);
-    const bool ret   = ___module_qt_window_set_volume(*win, volume);
+    const bool ret   = (*win)->mpv_widget->set_volume(volume);
     va_end(copy);
     return !ret;
 }
@@ -107,7 +109,7 @@ mod_set_paused(va_list *va)
     struct module_qt_window_s **win =
         reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
     const int state = va_arg(copy, int);
-    const bool ret  = ___module_qt_window_set_paused(*win, state);
+    const bool ret  = (*win)->mpv_widget->set_paused(state);
     va_end(copy);
     return !ret;
 }
@@ -120,7 +122,7 @@ mod_set_position(va_list *va)
     struct module_qt_window_s **win =
         reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
     const int seconds = va_arg(copy, int);
-    const bool ret    = ___module_qt_window_set_position(*win, seconds);
+    const bool ret    = (*win)->mpv_widget->set_position(seconds);
     va_end(copy);
     return !ret;
 }
@@ -133,7 +135,7 @@ mod_get_duration(va_list *va)
     struct module_qt_window_s **win =
         reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
     int *duration = va_arg(copy, int *);
-    bool ret      = ___module_qt_window_get_duration(*win, duration);
+    bool ret      = (*win)->mpv_widget->get_duration(duration);
     va_end(copy);
     return !ret;
 }
@@ -146,7 +148,7 @@ mod_get_elapsed(va_list *va)
     va_copy(copy, *va);
     win            = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **));
     int *elapsed   = va_arg(copy, int *);
-    const bool ret = ___module_qt_window_get_elapsed(*win, elapsed);
+    const bool ret = (*win)->mpv_widget->get_elapsed(elapsed);
     va_end(copy);
     return !ret;
 }
@@ -177,6 +179,24 @@ REG_EXPORT(qt_window_reg)
  * Private helper functions *
  ****************************/
 
+static void *
+___create_mpv_widget(void *arg)
+{
+    lkt_thread_set_name("lektord/qt-win");
+
+    /* Unsage reinterpret cast, but isok */
+    module_qt_window_s *qt_window = reinterpret_cast<module_qt_window_s *>(arg);
+
+    int argc = 0;
+    QApplication app(argc, nullptr);
+    setlocale(LC_NUMERIC, "C");
+    qt_window->main_window = new MainWindow(qt_window);
+    qt_window->main_window->show();
+    app.exec();
+
+    return nullptr;
+}
+
 /***************************
  * Function implementation *
  ***************************/
@@ -198,7 +218,8 @@ module_qt_window_new(struct module_qt_window_s **win, struct queue *queue, lkt_d
         (*win)->db    = db;
 
         pthread_t thread;
-        RETURN_IF(pthread_create(&thread, nullptr, ___create_mpv_widget, *win), "Failed to launch the Qt thread", false);
+        RETURN_IF(pthread_create(&thread, nullptr, ___create_mpv_widget, *win),
+                  "Failed to launch the Qt thread", false);
     }
 
     return true;
@@ -208,7 +229,7 @@ static void
 module_qt_window_close(struct module_qt_window_s *win)
 {
     RETURN_UNLESS(win && win->mpv_widget && win->main_window, "Invalid arguments", NOTHING);
-    ___module_qt_window_close(win);
+    win->main_window->closeMpv();
 }
 
 static void
diff --git a/src/module/qt_window/mpvwidget_interface.cc b/src/module/qt_window/mpvwidget_interface.cc
deleted file mode 100644
index d687366847cd9b910f48d132f9eed9ec19ce0744..0000000000000000000000000000000000000000
--- a/src/module/qt_window/mpvwidget_interface.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-#include "mpvwidget_interface.hh"
-
-#include <QApplication>
-#include <QEventLoop>
-
-#include "mainwindow.hh"
-
-void *
-___create_mpv_widget(void *arg)
-{
-    lkt_thread_set_name("lektord/qt-win");
-
-    /* Unsage reinterpret cast, but isok */
-    module_qt_window_s *qt_window = reinterpret_cast<module_qt_window_s *>(arg);
-
-    int argc = 0;
-    QApplication app(argc, nullptr);
-    setlocale(LC_NUMERIC, "C");
-    qt_window->main_window = new MainWindow(qt_window);
-    qt_window->main_window->show();
-    app.exec();
-
-    return nullptr;
-}
-
-bool
-___module_qt_window_get_elapsed(struct module_qt_window_s *win, int *elapsed_sec)
-{
-    return win->mpv_widget->get_elapsed(elapsed_sec);
-}
-
-bool
-___module_qt_window_get_duration(struct module_qt_window_s *win, int *dur_sec)
-{
-    return win->mpv_widget->get_duration(dur_sec);
-}
-
-bool
-___module_qt_window_set_paused(struct module_qt_window_s *win, int paused)
-{
-    return win->mpv_widget->set_paused(paused);
-}
-
-bool
-___module_qt_window_set_volume(struct module_qt_window_s *win, int vol)
-{
-    return win->mpv_widget->set_volume(vol);
-}
-
-bool
-___module_qt_window_set_position(struct module_qt_window_s *win, int sec)
-{
-    return win->mpv_widget->set_position(sec);
-}
-
-bool
-___module_qt_window_load_file(struct module_qt_window_s *win, const char *filepath)
-{
-    return win->mpv_widget->load_file(filepath);
-}
-
-bool
-___module_qt_window_toggle_pause(struct module_qt_window_s *win)
-{
-    return win->mpv_widget->toggle_pause();
-}
-
-bool
-___module_qt_window_close(struct module_qt_window_s *win)
-{
-    win->main_window->closeMpv();
-    return true;
-}
diff --git a/src/module/qt_window/mpvwidget_interface.hh b/src/module/qt_window/mpvwidget_interface.hh
deleted file mode 100644
index 0f953e56bc1a05a627f410b00649c7395886ccf5..0000000000000000000000000000000000000000
--- a/src/module/qt_window/mpvwidget_interface.hh
+++ /dev/null
@@ -1,15 +0,0 @@
-#pragma once
-
-#include <lektor/common.h>
-#include "../module_qt_window.hh"
-
-void *___create_mpv_widget(void *arg);
-
-bool ___module_qt_window_get_elapsed(struct module_qt_window_s *, int *);
-bool ___module_qt_window_get_duration(struct module_qt_window_s *, int *);
-bool ___module_qt_window_set_paused(struct module_qt_window_s *, int);
-bool ___module_qt_window_set_volume(struct module_qt_window_s *, int);
-bool ___module_qt_window_set_position(struct module_qt_window_s *, int);
-bool ___module_qt_window_load_file(struct module_qt_window_s *, const char *);
-bool ___module_qt_window_toggle_pause(struct module_qt_window_s *);
-bool ___module_qt_window_close(struct module_qt_window_s *);