Yeah I get it, but I'm questioning why you want to maintain state on the DT instance about the mode which selections happen. It seems like the selection mode is something that should be specified each time there's a call to one of the select methods. i.e. the selection mode is related to the act of selecting, not a property of the DT.

e.g. this is analogous and seems wrong:

```javascript
var person = new Person();

person.set('moveMode', 'left');
person.move();

person.set('moveMode', 'right');
person.move();
```

Whereas I think this is a better API:

```javascript
var person = new Person();

person.moveLeft();
person.moveRight();
person.move('left');
```