in include/spotify/json/codec/object.hpp [311:321]
void add_field(const std::string &name, bool required, getter &&get, setter &&set, codec_type &&codec) {
using field_type = custom_field<
typename std::decay<getter>::type,
typename std::decay<setter>::type,
typename std::decay<codec_type>::type>;
_fields.save(name, required, std::shared_ptr<detail::field>(new field_type(required,
_fields.num_required_fields(),
std::forward<codec_type>(codec),
std::forward<getter>(get),
std::forward<setter>(set))));
}