public void SetStatus(object work, string status)
{
lock (workStatuses)
{
// only allow status to be set if key is already present,
// so we know that it will be removed in OnStop
if (workStatuses.ContainsKey(work))
{
workStatuses[work] = status;
if (string.IsNullOrEmpty(status))
{
WorkStatusCleared(work);
}
else
{
lastStatusWork = work;
lastStatus = status;
}
}
}
}