I wonder why is that multiple instances of `ProtoCore.Core` host by more than one "service like" class

Recently, I was into Dynamo source code, trying to understand Engine part. I noticed class ProtoCore.Core is the heart of DesignScript, and when I go though DynamoModel class, I was confused. class LibraryServices and EngineController has different instance of ProtoCore.Core, my question is, when .dll assembly loaded by LibraryServices, how does EngineController.liveRunnerServices know which “function” was loaded by LibraryServices?

I’ve found what I’m looking for, method DynamoModel.ResetEngineInternal recreate EngineController instance with LibraryServices instance.