Dictionary Validation

This is also probably not complete. More questions incoming...
Thanks for the tips Mark. I've done something slightly different and processed the re-run and print logic in the cli class. Let me know if that's OK. I've also added a cli test.