Yes, I have already refactored this again to make it more abstract and require the provider implementation to deprecate the VM and if they don't have that concept it doesn't need to be implemented.