public IJobTask Create(IContext db, JobStep step, ILogger logger)
		{
            m_logger = logger;
			m_db = db;
			m_taskStep = step;
			this.Name = step.Name;
			this.StepId = step.StepId;
			return this;
		}
        public IJobTask CreateTask(IContext db, JobStep taskStep)
        {
            IJobTask task = null;
            if (taskStep == null)
            {
                return null;
            }

            if (m_taskPlugins.ContainsKey(taskStep.SubSystem) == false)
            {
                m_logger.Warn("Unable to locate specified Subsystem [{0}]", taskStep.SubSystem);
                return null;
            }
            var t = m_taskPlugins[taskStep.SubSystem];
            task = (IJobTask)Activator.CreateInstance(t);
            return task.Create(db, taskStep, m_logger);
        }