Callbacks are now generic (again) and generated by the ModuleManager. This means the module config can go back into JSON. And I also stubbed out the sub modules. Which means I hacked in a way to prove that they load as sub modules of the example module. Lots of work, a lot just temporary, but still good progress overall. I log more commits on Amtrak than anywhere else #mycodeisfasterthanyours