https://gist.github.com/JoeyValentine/23821c27c1f540a4ac63e446e2243dbc

I wonder why the constructor and stateStoreCoordinator are private[sql].

In other words, I want to know the reason why the scope has to be [sql] and not [streaming]. 

And the next question is: "The reason for using private[sql] in the constructor is for the singleton pattern?"