Use json.Unmarshaler type instead of marshalTo