Recursive, abstracted vhost creation