split monitor_changes into handlers and trigger them on NOTIFY