private Task InvokeCoreAsync(TextWriter writer, WidgetDescriptor descriptor, object values = null) { var context = new WidgetContext(descriptor, new RouteValueDictionary(values), _viewContext, writer); var invoker = _invokerFactory.CreateInstance(context); return invoker.InvokeAsync(context); }