diff --git a/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass b/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass
index e6132fa..3277cdb 100644
--- a/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass
+++ b/meta-phosphor/classes/obmc-phosphor-dbus-service.bbclass
@@ -1,20 +1,45 @@
-# Common code for applications providing a D-Bus service.
-
-# Class users should define DBUS_SERVICES prior to including.
+# Utilities and shortcuts for recipes providing D-Bus services.
+# Variables:
+#  DBUS_PACKAGES ?= "${PN}"
+#    The list of packages to which files should be added.
+#
+#  DBUS_SERVICE_${PN} += "org.openbmc.Foo"
+#    A list of dbus service names.  The class will look for a dbus
+#    configuration file with the same name with .conf appended.
+#
+inherit dbus-dir
+inherit obmc-phosphor-utils
 
 RDEPENDS_${PN} += "dbus-perms"
+DBUS_PACKAGES ?= "${PN}"
+
+_INSTALL_DBUS_CONFIGS=""
+
 
 python() {
-        services = d.getVar('DBUS_SERVICES', True)
-        if services:
-                uris = " ".join( [ 'file://' + s + '.conf' for s in services.split() ] )
-                d.appendVar('SRC_URI', ' ' + uris + ' ')
+    searchpaths = d.getVar('FILESPATH', True)
+
+    def add_dbus_config(d, service, pkg):
+        set_append(d, 'SRC_URI', 'file://%s.conf' % service)
+        set_append(d, 'FILES_%s' % pkg, '%s%s.conf' \
+            % (d.getVar('dbus_system_confdir', True), service))
+        set_append(d, '_INSTALL_DBUS_CONFIGS', '%s.conf' % service)
+
+
+    for pkg in listvar_to_list(d, 'DBUS_PACKAGES'):
+        services = listvar_to_list(d, 'DBUS_SERVICE_%s' % pkg)
+
+        for service in services:
+            add_dbus_config(d, service, pkg)
 }
 
+
 do_install_append() {
-        # install the service configuration files
-        install -d ${D}${sysconfdir}/dbus-1/system.d
-        for s in ${DBUS_SERVICES}; do
-                install ${WORKDIR}/$s.conf ${D}${sysconfdir}/dbus-1/system.d/$s.conf
+        # install the dbus configuration files
+        [ -z "${_INSTALL_DBUS_CONFIGS}" ] || \
+                install -d ${D}${dbus_system_confdir}
+        for c in ${_INSTALL_DBUS_CONFIGS}; do
+                install -m 0644 ${WORKDIR}/$c \
+                        ${D}${dbus_system_confdir}$c
         done
 }
diff --git a/meta-phosphor/common/recipes-phosphor/dbus-perms/dbus-perms.bb b/meta-phosphor/common/recipes-phosphor/dbus-perms/dbus-perms.bb
index c7b7884..c929d74 100644
--- a/meta-phosphor/common/recipes-phosphor/dbus-perms/dbus-perms.bb
+++ b/meta-phosphor/common/recipes-phosphor/dbus-perms/dbus-perms.bb
@@ -7,6 +7,4 @@
 inherit obmc-phosphor-license
 inherit obmc-phosphor-dbus-service
 
-DBUS_SERVICES += " \
-        org.openbmc \
-        "
+DBUS_SERVICE_${PN} += "org.openbmc"
diff --git a/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper.bb b/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper.bb
index 3c3208d..12e5474 100644
--- a/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper.bb
+++ b/meta-phosphor/common/recipes-phosphor/dbus/obmc-mapper.bb
@@ -10,7 +10,7 @@
 inherit obmc-phosphor-systemd
 inherit setuptools
 
-DBUS_SERVICES += "org.openbmc.ObjectMapper"
+DBUS_SERVICE_${PN} += "org.openbmc.ObjectMapper"
 RDEPENDS_${PN} += " \
         python-xml \
         python-dbus \
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-pydbus/obmc-phosphor-example-pydbus.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-pydbus/obmc-phosphor-example-pydbus.bb
index 57e27cf..7e3e907 100644
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-pydbus/obmc-phosphor-example-pydbus.bb
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-pydbus/obmc-phosphor-example-pydbus.bb
@@ -2,9 +2,7 @@
 DESCRIPTION = "Phosphor OpenBMC QEMU BSP example implementation."
 PR = "r1"
 
-DBUS_SERVICES = " \
-        org.openbmc.examples.PythonService \
-        "
+DBUS_SERVICE_${PN} += "org.openbmc.examples.PythonService"
 
 inherit obmc-phosphor-pydbus-service
 
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.bb b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.bb
index 9a3018d..541aa79 100644
--- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.bb
+++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.bb
@@ -2,9 +2,7 @@
 DESCRIPTION = "Phosphor OpenBMC QEMU BSP example implementation."
 PR = "r1"
 
-DBUS_SERVICES = " \
-        org.openbmc.examples.SDBusService \
-        "
+DBUS_SERVICE_${PN} += "org.openbmc.examples.SDBusService"
 
 S = "${WORKDIR}"
 SRC_URI += "file://Makefile \
