Separate getWork and doWork in the example

The example is still broken, though, because the Event channel just
plain sucks.