Add proper worker support

This is an extraction of the updated dispatch rider subscriber code from core, a bit more modular and manual, but gets the job done better without as many deep dependancies.