How can I have a timer whose callback points to an object? (For example, invokes a method on a particular instance of a user-defined class - possibly, the instance that 'hosts' the timer, when the timer serves as the object's 'heartbeat').
The solution I came up with employs Singleton pattern to create and access multiple instances, identifies those by id's, and hard-codes the id's into timer callbacks. (As a shortcut, sample class Widget identifies id with an 'existing' property, Color - now, no two widgets of the same color can be created - but this is not necessary, and 'getInstance' is easy to modify). Things get more complicated when one handles deletion of singletons, which included code does not do.
Is there a simpler way?