Changing the state of another entity into the constructor method
In Python, a singleton should be a module, not a class. There's no good reason to define a class for that. That's what's going on in pyglet's case with pyglet.clock. If you want to define your own version you should do something like:

# myclock.py

from pyglet.clock import *


Then you can add functions/etc to that module to get additional behavior. This way you don't even need to call the set_default function.