add semi abstract worker factory
use of provided function arguments with nullables to keep interface compliance happy
test for WorkerFactory
fixing omitted service manager
Merge pull request #78 from basz/feature/remove-type-specific-worker-factory

add semi abstract worker factory