First draft of BaseWorker