Yes, I have the same confusion. libvirt_vm currently is doing something that is not his busness. 
    When I design this module for conn. I refered to http://wiki.libvirt.org/page/TLSSetup.
There are 3 hosts, client, server, and admin. Setup is running on admin host.So restart libvirtd on 
server a remote action. But I think We can move libvirtd related code into a single module and add 
some code to handle libvirtd on remote host just like *uri* in libvirt_vm. what do you think about?