JSON Revision

Revised the JSON encoding to be more usable, and to support future deck
implementation.