Use reflect to handle objects

for encoding. Decode always produces maps, still.