By making it part of the system that it is designed for.So how would someone resolve such Sleep trouble ?
Generally you want to make data as object local as you can, for instance if I had an enum I created that defined ordinal directions in a 2d game like north, east, south, etc. Quite a few systems might use that, in that case I might place it into a header file under a namespace that can be included by any parties interested in using that enum. For something like a sleep variable that isn't a constant you would probably want to make it belong to the thing that uses it the most, i.e. your window or engine class or whatever. Then just allow it to be accessed from other parts of code that need to determine what it is or modify it.
Using another example you may create an enum of substates for a state machine, well if only that state machine uses it and any other objects would -have- to include the state machine to ever be interested in using the enum then you could place it in the header file. It's a balance of trying to keep information local to where it is used while not mashing everything together in globals or giant include files. It's actually a bad idea to have a header file like "constants.hpp" or something as well due to the fact that everytime that file changes it will force recompilation in the other files.