public StateBuilderContext(IWorkItem workItem, string stateName, IDictionary <string, object> dependencies, IDictionary <string, object> optionalDependencies, IDictionary <string, object> additionalData) { _workItem = workItem; Dependencies = new ReadOnlyDictionary <string, object>(dependencies); OptionalDependencies = new ReadOnlyDictionary <string, object>(optionalDependencies); AdditionalData = new ReadOnlyDictionary <string, object>(additionalData); _completionSource = new TaskCompletionSource <TStateObject>(); Task task = _completionSource.Task.ContinueWith(x => { workItem.State[stateName] = x.Result; //_workItem.State[stateName] = x.Result; #if DEBUG Debug.WriteLine($"************StateBuilderContext**************\n{stateName}\n***************************"); #endif _workItem.BroadCastState(_workItem, new BroadCastStateEventArgs(stateName, x.Result)); }, TaskContinuationOptions.OnlyOnRanToCompletion); var taskList = _workItem.Container.Resolve <IList <Task> >(); taskList.Add(task); //task.Start(); }