MonitorWorker only enforces the use of a worker thread but otherwise does not define how the monitor is implemented.