diff --git a/tools/meson.build b/tools/meson.build
index 41d0bb6..30ce47f 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -21,11 +21,14 @@
   'sdbusplus/templates/method.md.mako',
   'sdbusplus/templates/method.client.hpp.mako',
   'sdbusplus/templates/method.prototype.hpp.mako',
+  'sdbusplus/templates/method.server.vtable.cpp.mako',
   'sdbusplus/templates/property.md.mako',
   'sdbusplus/templates/property.client.hpp.mako',
   'sdbusplus/templates/property.server.cpp.mako',
+  'sdbusplus/templates/property.server.vtable.cpp.mako',
   'sdbusplus/templates/signal.md.mako',
   'sdbusplus/templates/signal.prototype.hpp.mako',
+  'sdbusplus/templates/signal.server.vtable.cpp.mako',
 )
 meson.override_find_program('sdbus++', files('sdbus++'))
 sdbusplusplus_prog = find_program('sdbus++', native: true)
diff --git a/tools/sdbusplus/templates/interface.server.cpp.mako b/tools/sdbusplus/templates/interface.server.cpp.mako
index eb8ca64..0562361 100644
--- a/tools/sdbusplus/templates/interface.server.cpp.mako
+++ b/tools/sdbusplus/templates/interface.server.cpp.mako
@@ -57,25 +57,15 @@
 
 const vtable_t ${interface.classname}::_vtable[] = {
     vtable::start(),
+
     % for m in interface.methods:
-${ m.cpp_prototype(loader, interface=interface, ptype='vtable') }
+${ m.render(loader, "method.server.vtable.cpp.mako", method=m, interface=interface) }
     % endfor
     % for s in interface.signals:
-${ s.cpp_prototype(loader, interface=interface, ptype='vtable') }
+${ s.render(loader, "signal.server.vtable.cpp.mako", signal=s, interface=interface) }
     % endfor
     % for p in interface.properties:
-    vtable::property("${p.name}",
-                     details::${interface.classname}::_property_${p.name}
-                        .data(),
-                     _callback_get_${p.name},
-        % if 'const' not in p.flags and 'readonly' not in p.flags:
-                     _callback_set_${p.name},
-        % endif
-        % if not p.cpp_flags:
-                     vtable::property_::emits_change),
-        % else:
-                     ${p.cpp_flags}),
-        % endif
+${ p.render(loader, "property.server.vtable.cpp.mako", property=p, interface=interface) }
     % endfor
     vtable::end()
 };
diff --git a/tools/sdbusplus/templates/method.prototype.hpp.mako b/tools/sdbusplus/templates/method.prototype.hpp.mako
index 6cfe02d..74d0cbc 100644
--- a/tools/sdbusplus/templates/method.prototype.hpp.mako
+++ b/tools/sdbusplus/templates/method.prototype.hpp.mako
@@ -29,21 +29,6 @@
         static int _callback_${ method.CamelCase }(
             sd_bus_message*, void*, sd_bus_error*);
 ###
-### Emit 'vtable'
-###
-    % elif ptype == 'vtable':
-    vtable::method("${method.name}",
-                   details::${interface.classname}::_param_${ method.CamelCase }
-                        .data(),
-                   details::${interface.classname}::_return_${ method.CamelCase }
-                        .data(),
-        % if method.cpp_flags:
-                   _callback_${method.CamelCase},
-                   ${method.cpp_flags}),
-        % else:
-                   _callback_${method.CamelCase}),
-        % endif
-###
 ### Emit 'callback-cpp'
 ###
     % elif ptype == 'callback-cpp':
diff --git a/tools/sdbusplus/templates/method.server.vtable.cpp.mako b/tools/sdbusplus/templates/method.server.vtable.cpp.mako
new file mode 100644
index 0000000..3774ab4
--- /dev/null
+++ b/tools/sdbusplus/templates/method.server.vtable.cpp.mako
@@ -0,0 +1,10 @@
+    vtable::method("${method.name}",
+                   details::${interface.classname}::_param_${ method.CamelCase }.data(),
+                   details::${interface.classname}::_return_${ method.CamelCase }.data(),
+        % if method.cpp_flags:
+                   _callback_${method.CamelCase},
+                   ${method.cpp_flags}\
+        % else:
+                   _callback_${method.CamelCase}\
+        % endif
+),
diff --git a/tools/sdbusplus/templates/property.server.vtable.cpp.mako b/tools/sdbusplus/templates/property.server.vtable.cpp.mako
new file mode 100644
index 0000000..f21a6cc
--- /dev/null
+++ b/tools/sdbusplus/templates/property.server.vtable.cpp.mako
@@ -0,0 +1,12 @@
+    vtable::property("${property.name}",
+                     details::${interface.classname}::_property_${property.name}.data(),
+                     _callback_get_${property.name},
+        % if 'const' not in property.flags and 'readonly' not in property.flags:
+                     _callback_set_${property.name},
+        % endif
+        % if not property.cpp_flags:
+                     vtable::property_::emits_change\
+        % else:
+                     ${property.cpp_flags}\
+        % endif
+),
diff --git a/tools/sdbusplus/templates/signal.prototype.hpp.mako b/tools/sdbusplus/templates/signal.prototype.hpp.mako
index 78c838c..10fae50 100644
--- a/tools/sdbusplus/templates/signal.prototype.hpp.mako
+++ b/tools/sdbusplus/templates/signal.prototype.hpp.mako
@@ -40,13 +40,6 @@
         void ${ signal.camelCase }(
             ${ parameters(True) });
 ###
-### Emit 'vtable'
-###
-    % elif ptype == 'vtable':
-    vtable::signal("${signal.name}",
-                   details::${interface.classname}::_signal_${signal.CamelCase }
-                        .data()),
-###
 ### Emit 'callback-cpp'
 ###
     % elif ptype == 'callback-cpp':
diff --git a/tools/sdbusplus/templates/signal.server.vtable.cpp.mako b/tools/sdbusplus/templates/signal.server.vtable.cpp.mako
new file mode 100644
index 0000000..d9caf4b
--- /dev/null
+++ b/tools/sdbusplus/templates/signal.server.vtable.cpp.mako
@@ -0,0 +1,2 @@
+    vtable::signal("${signal.name}",
+                   details::${interface.classname}::_signal_${signal.CamelCase }.data()),
