Moved responsibility of generating the list of moves to Variant. Changed a couple of minor things as per code review.