Extract generic _iterate from _markSel
Add data support and tests