Yeah, I agree with this notion, actually. But if we're going to use the singleton pattern, and we have many systems that can also be adapted to this pattern, we'd have a kind of funky design with many singletons each with a bunch of static member functions, when it'd be a lot less complicated and a better application of the pattern to remove the singleton behavior (just make it a simple class), and then contain an instance as a member in a "core systems" singleton.