public static TodoState AddTodo(TodoState state, string text)
 {
     state.List.Add(new Todo(
         id: state.Index,
         text: text
     ));
     state.Index = state.Index + 1;
     state.SetStateChanged();
     return state;
 }
        public static TodoState ToggleTodo(TodoState state, Todo newTodo)
        {
            var list = state.List.Select(_todo => (_todo.Id == newTodo.Id)
                    ? new Todo(
                        id: _todo.Id,
                        text: _todo.Text,
                        completed: newTodo.Completed
                    )
                    : _todo
                )
                .ToList();

            state.List = list;
            state.SetStateChanged();
            return state;
        }