Think I've figured out the issue. When a move is made I believe a second
listener is being added for pre-existing units, then a third etc - so it
will select/unselect, then select/unselect/select etc. Commenting so I
don't forget, working on fix.