ditch delegate and just detect plain objects when mapping a collection