core: add Port struct
worker: introduce workercontrol + newWorker
app,worker: refactor to use newWorker
app,worker: refactor to use taskrunner