diff --git a/src/nostalgia/studio/lib/CMakeLists.txt b/src/nostalgia/studio/lib/CMakeLists.txt
index d45b16df..3aeaae65 100644
--- a/src/nostalgia/studio/lib/CMakeLists.txt
+++ b/src/nostalgia/studio/lib/CMakeLists.txt
@@ -49,6 +49,7 @@ target_link_libraries(
 install(
 	FILES
 		configio.hpp
+		context.hpp
 		editor.hpp
 		filedialog.hpp
 		module.hpp
diff --git a/src/nostalgia/studio/lib/context.hpp b/src/nostalgia/studio/lib/context.hpp
new file mode 100644
index 00000000..8b3da135
--- /dev/null
+++ b/src/nostalgia/studio/lib/context.hpp
@@ -0,0 +1,18 @@
+/*
+ * Copyright 2016 - 2022 Gary Talent (gary@drinkingtea.net). All rights reserved.
+ */
+
+#pragma once
+
+#include <ox/event/signal.hpp>
+
+#include "project.hpp"
+
+namespace nostalgia::studio {
+
+struct StudioContext {
+	ox::SignalHandler *ui = nullptr;
+	Project *project = nullptr;
+};
+
+}
\ No newline at end of file
diff --git a/src/nostalgia/studio/studio.hpp b/src/nostalgia/studio/studio.hpp
index a75e041d..d0e89860 100644
--- a/src/nostalgia/studio/studio.hpp
+++ b/src/nostalgia/studio/studio.hpp
@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include "lib/context.hpp"
 #include "lib/editor.hpp"
 #include "lib/filedialog.hpp"
 #include "lib/module.hpp"