Convert `Discourse.Site` and `Discourse.ScreenTrack` to use `Discourse.Singleton`