Reportstate 11

Provisionally fixes #11
Opening PR with the expectation that there is probably a bit more stuff to do, but some comments would be appreciated.
Better to parse the output with `yaml.safe_load` and compare to a structured object; YAML output that is semantically identical but has different bytes shouldn't fail the test.