bitcoin core – Why implement *Wallet* at library level?

Using bitcoin-qt, and we need to create Wallet to handle our account (Private + Public Keys).

But I really don’t know why we are forcing this to everyone at library level.

I can’t find a simple way to handle multiple wallets with one single instance of bitcoin-qt.

Can I have multiple addresses from different users added to the same wallet? My spider sense tell me NO. It is like we are sharing the same wallet with stranger in real life.