diff --git a/src/Makefile.am b/src/Makefile.am
index fcb79e0..3fc5554 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,3 +1,5 @@
+include ${top_srcdir}/vars.mk
+
 AM_DEFAULT_SOURCE_EXT = .cpp
 AM_CPPFLAGS = -iquote ${top_srcdir}
 
@@ -6,8 +8,7 @@
 phosphor_dbus_monitor_SOURCES = \
 	functor.cpp \
 	main.cpp \
-	monitor.cpp \
-	generated.cpp
+	monitor.cpp
 phosphor_dbus_monitor_LDADD = \
 	$(SDBUSPLUS_LIBS) \
 	$(PHOSPHOR_LOGGING_LIBS)
@@ -15,13 +16,16 @@
 	$(SDBUSPLUS_CFLAGS) \
 	$(PHOSPHOR_LOGGING_CFLAGS)
 
-BUILT_SOURCES = generated.cpp
-CLEANFILES = generated.cpp
+BUILT_SOURCES = generated.hpp
+CLEANFILES = generated.hpp
 
-generated.cpp:
-	$(AM_V_GEN)$(PYTHON) ${top_srcdir}/src/pdmgen.py \
-		-t generated.mako.cpp \
-		-p "${srcdir}" \
+TEMPLATES = \
+	templates/generated.mako.hpp
+
+generated.hpp: $(PDMGEN) $(YAML_PATH) $(TEMPLATES)
+	$(AM_V_GEN)$(PYTHON) ${PDMGEN} \
+		-t generated.mako.hpp \
+		-p "${TEMPLATESEARCH}" \
 		-d ${srcdir}/example \
 		-o ${builddir}/$@ \
 		generate-cpp
diff --git a/src/example/example.yaml b/src/example/example.yaml
new file mode 100644
index 0000000..5a798e9
--- /dev/null
+++ b/src/example/example.yaml
@@ -0,0 +1 @@
+# Example PDM configuration file.
diff --git a/src/example/monitoring_defs.yaml b/src/example/monitoring_defs.yaml
deleted file mode 100644
index 04629db..0000000
--- a/src/example/monitoring_defs.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
-# Example sensor monitoring definition
-groups:
-    - name: fan_zone_group
-      description: Group of fan tach sensors
-      type: fan_tach
-      members:
-          - fan0
-          - fan1
-          - fan2
-          - fan3
-
-triggers:
-    - name: app_start
-      description: The sensor group manager application started
-      type: start
-    - name: properties_changed
-      description: A property change dbus signal
-      type: signal
-      signature:
-          interface: org.freedesktop.DBus.Properties
-          member: PropertiesChanged
-
-conditions:
-    - name: fans_at_or_above_speed
-      type: countAtOrAbove
-      interface: xyz.openbmc_project.Sensor.Value
-      property: Value
-      parameters:
-          group: name
-          group: member
-          count: 3
-          value:
-              value: 8000
-              type: int64
-
-actions:
-    - name: log_error
-      type: log_error
-      parameters:
-          message: string
-
-events:
-    - name: fans_over_speed
-      groups:
-          - fan_zone_group
-      triggers:
-          - name: app_start
-            conditions:
-                - fans_at_or_above_speed
-          - name: properties_changed
-            conditions:
-                - fans_at_or_above_speed
-      actions:
-          - name: log_error
-            message: "ERROR: Number of fans at or above 8000rpms reached"
diff --git a/src/generated.cpp b/src/generated.cpp
deleted file mode 100644
index 6ef7cd1..0000000
--- a/src/generated.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#include "data_types.hpp"
-#include "functor.hpp"
-#include "monitor.hpp"
-#include "conditions.hpp"
-#include "actions.hpp"
-
-namespace phosphor
-{
-namespace dbus
-{
-namespace monitoring
-{
-
-// Example vector of sensors constructing a group
-static Group fan_zone_group = {
-    std::make_tuple(
-        "/xyz/openbmc_project/sensors/fan_tach/fan0",
-        static_cast<int64_t>(0)
-    ),
-    std::make_tuple(
-        "/xyz/openbmc_project/sensors/fan_tach/fan1",
-        static_cast<int64_t>(0)
-    ),
-    std::make_tuple(
-        "/xyz/openbmc_project/sensors/fan_tach/fan2",
-        static_cast<int64_t>(0)
-    ),
-    std::make_tuple(
-        "/xyz/openbmc_project/sensors/fan_tach/fan3",
-        static_cast<int64_t>(0)
-    )
-};
-
-const std::vector<std::tuple<std::vector<std::shared_ptr<Event>>,
-                             std::vector<Action>>>
-    Monitor::events
-{ // Example vector of Events with START trigger
-    {std::make_tuple(std::vector<std::shared_ptr<Event>>(
-        { // Example vector of StartEvent
-            std::make_shared<StartEvent>(
-                std::vector<Condition>(
-                    { // Example vector of StartEvent conditions
-                        make_condition(propertyStart<int64_t>(
-                            "/xyz/openbmc_project/sensors/fan_tach/fan0",
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan0",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        )),
-                        make_condition(propertyStart<int64_t>(
-                            "/xyz/openbmc_project/sensors/fan_tach/fan1",
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan1",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        )),
-                        make_condition(propertyStart<int64_t>(
-                            "/xyz/openbmc_project/sensors/fan_tach/fan2",
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan2",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        )),
-                        make_condition(propertyStart<int64_t>(
-                            "/xyz/openbmc_project/sensors/fan_tach/fan3",
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan3",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        )),
-                    }
-                )
-            ),
-            std::make_shared<SignalEvent>(
-                "interface='org.freedesktop.DBus.Properties',"
-                "member='PropertiesChanged',"
-                "type='signal',"
-                "path='/xyz/openbmc_project/sensors/fan_tach/fan0'",
-                std::vector<Condition>(
-                    { // Example vector of SignalEvent conditions
-                        make_condition(propertySignal<int64_t>(
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan0",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        ))
-                    }
-                )
-            ),
-            std::make_shared<SignalEvent>(
-                "interface='org.freedesktop.DBus.Properties',"
-                "member='PropertiesChanged',"
-                "type='signal',"
-                "path='/xyz/openbmc_project/sensors/fan_tach/fan1'",
-                std::vector<Condition>(
-                    { // Example vector of SignalEvent conditions
-                        make_condition(propertySignal<int64_t>(
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan1",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        ))
-                    }
-                )
-            ),
-            std::make_shared<SignalEvent>(
-                "interface='org.freedesktop.DBus.Properties',"
-                "member='PropertiesChanged',"
-                "type='signal',"
-                "path='/xyz/openbmc_project/sensors/fan_tach/fan2'",
-                std::vector<Condition>(
-                    { // Example vector of SignalEvent conditions
-                        make_condition(propertySignal<int64_t>(
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan2",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        ))
-                    }
-                )
-            ),
-            std::make_shared<SignalEvent>(
-                "interface='org.freedesktop.DBus.Properties',"
-                "member='PropertiesChanged',"
-                "type='signal',"
-                "path='/xyz/openbmc_project/sensors/fan_tach/fan3'",
-                std::vector<Condition>(
-                    { // Example vector of SignalEvent conditions
-                        make_condition(propertySignal<int64_t>(
-                            "xyz.openbmc_project.Sensor.Value",
-                            "Value",
-                            condition::countAtOrAbove(
-                                fan_zone_group,
-                                "/xyz/openbmc_project/sensors/fan_tach/fan3",
-                                static_cast<size_t>(3),
-                                static_cast<int64_t>(8000ll)
-                            )
-                        ))
-                    }
-                )
-            )
-        }),
-        std::vector<Action>(
-        {
-            make_action(
-                action::log_error(
-                    "ERROR: Number of fans at or above 8000rpms reached"
-                )
-            )
-        })
-    )}
-};
-
-} // namespace monitoring
-} // namespace dbus
-} // namespace phosphor
diff --git a/src/generated.mako.cpp b/src/generated.mako.cpp
deleted file mode 100644
index a8f6d60..0000000
--- a/src/generated.mako.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-## This file is a template, the comment below is emitted into the generated file
-/* This is an auto generated file. Do not edit. */
-#include "data_types.hpp"
-#include "monitor.hpp"
-#include "functor.hpp"
-#include "conditions.hpp"
-#include "actions.hpp"
-
-namespace phosphor
-{
-namespace dbus
-{
-namespace monitoring
-{
-
-const std::vector<std::tuple<std::vector<std::shared_ptr<Event>>,
-                             std::vector<Action>>>
-    Monitor::events
-{
-
-};
-
-} // namespace monitoring
-} // namespace dbus
-} // namespace phosphor
diff --git a/src/main.cpp b/src/main.cpp
index a82bb1d..885d843 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 #include <sdbusplus/bus.hpp>
+#include "generated.hpp"
 #include "monitor.hpp"
 
 int main(void)
diff --git a/src/monitor.cpp b/src/monitor.cpp
index 9e517fb..2d4d649 100644
--- a/src/monitor.cpp
+++ b/src/monitor.cpp
@@ -98,6 +98,11 @@
     }
 }
 
+const std::vector<
+    std::tuple<
+        std::vector<std::shared_ptr<Event>>,
+        std::vector<Action>>> Monitor::events;
+
 } // namespace monitoring
 } // namespace dbus
 } // namespace phosphor
diff --git a/src/pdmgen.py b/src/pdmgen.py
index 1ff5c51..6476a95 100755
--- a/src/pdmgen.py
+++ b/src/pdmgen.py
@@ -85,7 +85,7 @@
         help="Generated output file name and path.")
     parser.add_argument(
         '-t', '--template', dest='template',
-        default='generated.mako.cpp',
+        default='generated.mako.hpp',
         help='The top level template to render.')
     parser.add_argument(
         '-p', '--template-path', dest='template_search',
diff --git a/src/templates/generated.mako.hpp b/src/templates/generated.mako.hpp
new file mode 100644
index 0000000..a2e1adf
--- /dev/null
+++ b/src/templates/generated.mako.hpp
@@ -0,0 +1,14 @@
+## This file is a template, the comment below is emitted into the generated file
+/* This is an auto generated file. Do not edit. */
+#pragma once
+
+namespace phosphor
+{
+namespace dbus
+{
+namespace monitoring
+{
+
+} // namespace monitoring
+} // namespace dbus
+} // namespace phosphor
