Sort of fixed redraw on watch/unwatch, drawing labels separately, etc
Merge remote-tracking branch 'upstream/master'