refactor Game such that the didMoveTile callback is only fired once per tile moved