Reorganize to prepare for the decoder
Implement basic decoder
Re-add map[string]interface{} encoding and fix rebase issues