public WidgetInfo Build(WidgetDescription description) { CheckAndTryUpdateDescription(description); object mediator = BuildMediator(description); Guid id = widgetStore.GetNewGuid(); widgetStore.Add(id, mediator); logger.Trace($"Widget {id:B} [{WidgetDescription.BuildKey(description).key}] has been created."); return(new WidgetInfo(id, mediator)); }