Singletons, static members, and global variables are all the same thing wearing different trousers.
The goodness of the design is not inherent to the tool, it's about how you use it. Static members have their place in certain circumstances, as do globals. (I leave out singletons on purpose, but we've had that argument a million times and I will not have it repeated here.)
You haven't really described why you think this is a necessary design decision, but based on sheer probability and the fact that you mentioned a singleton to begin with, I'd wager decent money that your specific use case is "bad" design.