i think it makes more sense to refactor this into a proper class, i could imagine other ways to run puppet(ssh, etc)?