Hi there! I'm learning about how to make good software architectures in Unity, and this is a great working example to learn from. All the managers are in their own scene, which never gets unloaded so they can always respond to events. So why is the SaveSystem different? I know the benefits of using a ScriptableObject over a Monobehaviour, mainly not having to worry about initialization and being able to easily reference it from any other object. But if that's the answer for why it is not a persistent manager, then I can turn the question around, why are the other systems persistent managers instead of ScriptableObjects? Hahaha I guess the question is more about the 'inconsistency'. Why use events for decoupling some systems but not for others?