Initial Commit
diff --git a/src/sdeventplus/event.hpp b/src/sdeventplus/event.hpp
new file mode 100644
index 0000000..e2372bb
--- /dev/null
+++ b/src/sdeventplus/event.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <memory>
+#include <sdeventplus/sdevent.hpp>
+#include <sdeventplus/sdref.hpp>
+#include <systemd/sd-event.h>
+
+namespace sdeventplus
+{
+
+class Event
+{
+  public:
+    Event(sd_event* event, SdEventInterface* intf = &sdevent_impl);
+    Event(sd_event* event, std::false_type,
+          SdEventInterface* intf = &sdevent_impl);
+    static Event get_new(SdEventInterface* intf = &sdevent_impl);
+    static Event get_default(SdEventInterface* intf = &sdevent_impl);
+
+    int loop();
+
+  private:
+    SdEventInterface* intf;
+    SdRef<sd_event> event;
+};
+
+} // namespace sdeventplus