A monitor program should be written as a Monitor object with its own callback function. This allows the monitor to independently track queue status and take action when thresholds are exceeded. The other options describe dispatching mechanisms, not the monitor structure itself.