extracts worker.perform so call can be enhanced

I would like to open the discussion on keyword arguments.

This pull request simply extracts the calls to worker.perform in such a way that it can be uniformly enhanced for both the processor, and the test harness. The reason for this is to allow keyword arguments to be used -- albeit with some effort, but without having to take over large methods.

I'm open to ideas, feedback, or criticism and I've only recently ventured down this path.