factor out Mapper.attribute_pair
drop Mapper.attribute_pair and factor out Mapper.object_pair_from