Machines should be created asynchronously
Currently database entry and virtual machine creation operations are bounded together in single function. It’s unnecessary complexity which may be removed by separating duties. Controller should only create database entry and creation of vm should be a job for task runner.