added a periodic worker

The periodic worker will call a function periodically based on an input duration
This is just what I was looking for, but would you parameterise it on the test error and run it twice please? Just so we can verify the trivial effect of a nil return from a stopped work func.