first spike of #3163 so that we can optionally create the service definition along with adding typesafe DTOs for working with Config and Template

first spike of #3163 so that we can optionally create the service definition along with adding typesafe DTOs for working with Config and Template