Add support for using different formats from the command line tool
Start on plugin support

Interim commit

Interim commit

Get tests passing