Yes, there should be a function in the kernel to register a callback, and then it would manage the chaining for the externals. But since one can already register a callback with clock_new(), this is probably redundant(?).
it depends on what you want to do with your callbacks ... devel has the idle callbacks, that solve nearly every problem ...
t