pull out a message handling pipeline, load everything in the modules/ folder dynamically and use something like https://github.com/alecthomas/injector to handle dependencies between modules (or separate modules providing commands/message handling from those providing services?. The main thing this means is we can split new features / behaviour modifications off into files by themselves, which makes it a lot easier to maintain secret features
pull out a message handling pipeline, load everything in the
modules/
folder dynamically and use something like https://github.com/alecthomas/injector to handle dependencies between modules (or separate modules providing commands/message handling from those providing services?. The main thing this means is we can split new features / behaviour modifications off into files by themselves, which makes it a lot easier to maintain secret features