Major refactor to follow Ansible best practices with roles.