Why does Preflight care about device nodes?

Part of the success criteria for PreflightCheck.cpp is the existence of device nodes like /dev/mag0, etc. That seems to couple together the policy and mechanism in an unhelpful way.

My mag, gyro, etc. are coming from the UART by way of a VN-300 device, so I’m not creating /dev/mag0.

Rather than ditching PreflightCheck.cpp altogether, it got me wondering why it doesn’t just check to make sure that the associated uORB topics are updating? Why does it care how the data is coming from the underlying OS?