I am trying to understand what the difference is between libvirt and uvtool. After having read the documentation for both, it seems like both serve the same purpose. Is this the case? If so, how do you select the right one for your needs? If not, how are they different?