I prefer passing in a selection object here rather than re-getting the selection. It makes it easier to test the code and improves performance. I would go back and use `this.selection()` in the places where we were duplicating that code, though, so good call there.