ideally... if they are sourced and a list(or instance)... it's possible to drop in and instantiate multiple handlers per 'instance'
i.e.;
config watchcat checkbabeld
list user_handler 'babeld ping6neigh'
list user_handler 'luci-command fault c999dd37'
the actual implementation is up for grabs and above is just theory...
the pre-init 'boot_hook_add' handling method for function list also has its advantages... (sqm is another package that also exhibits great extensibility)
. /usr/lib/watchcat/methods/*
something like the above allows may sub-watch methods to be dropped in... and called by
main handlers...
i.e. if I write a low level wireguard function tommorrow... it can be dropped in...
just returns 0 or 1 (or similar) but is available to all 'handlers' or future comers...
if i want to improve the 'ping_timeout' logic... i simply need to submit a PR on the 'method' and not the whole core logic...