Did something like https://puppetlabs.com/blog/ruby-dsl/ ever land in something like stdlib? An exec really is a workaround.