round evaluation and change are now controlled from outside the logic rather than auto-called after a move