why not sub-ing the monitor instance here? 

Again check if monitor is cancelled in loop