Double underscore naming has its naming peculiarities, I would prefer something like `_shared_db_instance`, in case we inherit from this object at some point.

Also, I wouldn't call this a singleton, it's just a variable that you create if it's None when asking for it.