Squash all previous commits on this branch for the purpose of a pull request. This is mostly nicer.

Allow the use of a datastructure in addition to a YAML file as a playbook. There's a comment in the code that indicates that this should be possible, but it doesn't actually seem to be from my quick reading of the code. This should bring the code in line with the comment.