WeakMethod is used by the
Clock class to
allow references to a bound method that permits the associated object to
be garbage collected. Please refer to
examples/core/clock_method.py for more information.
This WeakMethod class is taken from the recipe
http://code.activestate.com/recipes/81253/, based on the nicodemus version.
Many thanks nicodemus!