Although this cannot be enforced, new Timer classes should apply the
Bridge
design pattern and defer most of their
functionality to the Time object. It is the Time object's
responsibility to determine the representation of the current time
and to increase the time on demand. It is the Timer's responsibility
to define when and how the time is updated.