Rewrite some selection features to use StepIterators

Migrating some things over to use StepIterators. Starting to reduce dependency on the selection mover and some adhoc iteration methods.