As for initializers, well I use struct initializers for all my spells, and module initializers for all my systems because if something is using a module initializer and it requires a system that uses a library initializer, it's fucked up, so using module initializers for all systems is the best solution, because this way, nothing can go wrong.