CursorOp should be public.