make CSystem::SetWorker take an enum to specify the mode