diff --git a/example/calculator-aserver.cpp b/example/calculator-aserver.cpp
index f70e7ab..6d41d07 100644
--- a/example/calculator-aserver.cpp
+++ b/example/calculator-aserver.cpp
@@ -42,7 +42,7 @@
 
 int main()
 {
-    constexpr auto path = "/net/poettering/calculator";
+    constexpr auto path = Calculator::instance_path;
 
     sdbusplus::async::context ctx;
     sdbusplus::server::manager_t manager{ctx, path};
@@ -50,7 +50,7 @@
     Calculator c{ctx, path};
 
     ctx.spawn([](sdbusplus::async::context& ctx) -> sdbusplus::async::task<> {
-        ctx.get_bus().request_name("net.poettering.Calculator");
+        ctx.get_bus().request_name(Calculator::default_service);
         co_return;
     }(ctx));
 
diff --git a/example/calculator-client.cpp b/example/calculator-client.cpp
index 2db6ae2..0ba1438 100644
--- a/example/calculator-client.cpp
+++ b/example/calculator-client.cpp
@@ -5,20 +5,19 @@
 
 auto startup(sdbusplus::async::context& ctx) -> sdbusplus::async::task<>
 {
-    constexpr auto service = "net.poettering.Calculator";
-    constexpr auto path = "/net/poettering/calculator";
+    using Calculator = sdbusplus::client::net::poettering::Calculator<>;
 
-    auto c = sdbusplus::client::net::poettering::Calculator(ctx)
-                 .service(service)
-                 .path(path);
+    auto c = Calculator(ctx)
+                 .service(Calculator::default_service)
+                 .path(Calculator::instance_path);
 
     // Alternatively, sdbusplus::async::client_t<Calculator, ...>() could have
     // been used to combine multiple interfaces into a single client-proxy.
     auto alternative_c [[maybe_unused]] =
         sdbusplus::async::client_t<
             sdbusplus::client::net::poettering::Calculator>(ctx)
-            .service(service)
-            .path(path);
+            .service(Calculator::default_service)
+            .path(Calculator::instance_path);
 
     {
         // Call the Multiply method.
diff --git a/example/calculator-server.cpp b/example/calculator-server.cpp
index b0603a3..7ee4218 100644
--- a/example/calculator-server.cpp
+++ b/example/calculator-server.cpp
@@ -51,24 +51,16 @@
 
 int main()
 {
-    // Define a dbus path location to place the object.
-    constexpr auto path = "/net/poettering/calculator";
-
-    static_assert(
-        std::string_view(
-            sdbusplus::common::net::poettering::Calculator::interface) ==
-        std::string_view(Calculator::interface));
-
     // Create a new bus and affix an object manager for the subtree path we
     // intend to place objects at..
     auto b = sdbusplus::bus::new_default();
-    sdbusplus::server::manager_t m{b, path};
+    sdbusplus::server::manager_t m{b, Calculator::instance_path};
 
     // Reserve the dbus service name : net.poettering.Calculator
-    b.request_name("net.poettering.Calculator");
+    b.request_name(Calculator::default_service);
 
     // Create a calculator object at /net/poettering/calculator
-    Calculator c1{b, path};
+    Calculator c1{b, Calculator::instance_path};
 
     // Handle dbus processing forever.
     b.process_loop();
diff --git a/example/yaml/net/poettering/Calculator.interface.yaml b/example/yaml/net/poettering/Calculator.interface.yaml
index 4862f84..f130e59 100644
--- a/example/yaml/net/poettering/Calculator.interface.yaml
+++ b/example/yaml/net/poettering/Calculator.interface.yaml
@@ -86,3 +86,11 @@
           - name: Error
             description: >
                 The service has encountered an error.
+
+paths:
+    - instance: /net/poettering/calculator
+      description: Expected path of the instance.
+
+service_names:
+    - default: net.poettering.Calculator
+      description: Expected service name for the instance.
