diff --git a/phosphor-power-sequencer/src/power_sequencer_monitor.hpp b/phosphor-power-sequencer/src/power_sequencer_monitor.hpp
index e714d08..944e7ae 100644
--- a/phosphor-power-sequencer/src/power_sequencer_monitor.hpp
+++ b/phosphor-power-sequencer/src/power_sequencer_monitor.hpp
@@ -1,5 +1,10 @@
 #pragma once
 
+#include <sdbusplus/bus.hpp>
+
+#include <map>
+#include <string>
+
 namespace phosphor::power::sequencer
 {
 
@@ -10,12 +15,42 @@
 class PowerSequencerMonitor
 {
   public:
-    PowerSequencerMonitor() = default;
+    PowerSequencerMonitor() = delete;
     PowerSequencerMonitor(const PowerSequencerMonitor&) = delete;
     PowerSequencerMonitor& operator=(const PowerSequencerMonitor&) = delete;
     PowerSequencerMonitor(PowerSequencerMonitor&&) = delete;
     PowerSequencerMonitor& operator=(PowerSequencerMonitor&&) = delete;
     virtual ~PowerSequencerMonitor() = default;
+
+    /**
+     * Create a base device object for power sequence monitoring.
+     * @param[in] bus D-Bus bus object
+     */
+    explicit PowerSequencerMonitor(sdbusplus::bus::bus& bus);
+
+    /**
+     * Logs an error using the D-Bus Create method.
+     * @param[in] message Message property of the error log entry
+     * @param[in] additionalData AdditionalData property of the error log entry
+     */
+    void logError(const std::string& message,
+                  std::map<std::string, std::string>& additionalData);
+
+    /**
+     * Analyzes the device for errors when the device is
+     * known to be in an error state.  A log will be created.
+     * @param[in] timeout if the failure state was determined by timing out
+     * @param[in] powerSupplyError The power supply error to log. A default
+     * std:string, i.e. empty string ("") is passed when there is no power
+     * supply error to log.
+     */
+    virtual void onFailure(bool timeout, const std::string& powerSupplyError);
+
+  protected:
+    /**
+     * The D-Bus bus object
+     */
+    sdbusplus::bus::bus& bus;
 };
 
 } // namespace phosphor::power::sequencer
