EllipsoidFactor: only instantiate the 3D viewer in run() method