Note
If you want to create a sitleton, you probably want to be able to configure it. For that purpose, TweakSitleton is the correct baseclass.
This is a pretty dumb baseclass which does nothing more than storing the value of site as site.
However, this is useful when doing multiple inheritance to bring the diamond shape together at the right point (namely at Sitleton), which doesn’t break calling super() on init.