private static DemoChecklistPointContext UpdatePointStateFromLocalStore(
            IJSInteropService jSInteropService,
            IDictionary <string, bool> pointStates,
            DemoChecklistContext Context,
            DemoChecklistPointContext contextPoint)
        {
            string key = jSInteropService.GetContextPointKeyName(Context, contextPoint);

            if (pointStates.ContainsKey(key))
            {
                contextPoint.IsDone = pointStates[key];
            }

            return(contextPoint);
        }
        public static async Task <DemoChecklistContext> UpdatePointStatesFromLocalStore(this DemoChecklistContext context, IJSInteropService jSInteropService)
        {
            IDictionary <string, bool> pointStates = await jSInteropService.GetContextPointStates(context);

            context.Points = new Collection <DemoChecklistPointContext>(
                context.Points.Select(p => UpdatePointStateFromLocalStore(jSInteropService, pointStates, context, p))
                .ToList());

            return(context);
        }