Use generators for message payloads

More flexible for plugging in new ones.
Add time tracking message payloads as an option

This uses the generators properly.  You're now also required to provide
a generator to the tracking sender at run time, there is no built in
default.  This follows the idea of the tracking sender handling the
mechanics, but not being a complete application on its own.