Lower level implementation with custom WorkerContext