separate MoveValidator from CollisionAnalyst