Split reader and writer roles (for now).
Added more meta data to allow pretty-printed JSON documents.
Marshalling the JSON with indented (easy-to-read) values.