Split setup, deploy, and build_vm into different files