Move classes into right files.  Separate worker from runner.  Dynamically load runners.