Split roles to make playbook more generic and flexible