anchor.diff:    @override
     set editing(bool b) => setState(() => edit = b);
     @override
  -  bool get defaultEdit => widget.defaultEdit != null ? widget.defaultEdit!() : widget.contentKey?.currentState?.defaultEdit ?? false;
  +  bool get defaultEdit => widget.defaultEdit != null ? widget.defaultEdit!() : widget.contentKey.currentState?.defaultEdit ?? false;
   
     @override
     Widget build(BuildContext context) {
  -    if((widget.contentKey == null || widget.content == null) && widget.contentBuilder == null){
  -      throw("either contentKey and content needs to be provided, or contentBuilder");
  -    }
       return Column(
         crossAxisAlignment: CrossAxisAlignment.stretch,
         children: [
           ClipRect(
  -          child: widget.content ?? widget.contentBuilder!(edit),
  +          child: widget.content,
           ),
           Row(
             mainAxisAlignment: MainAxisAlignment.end,
  
positive.code:                 icon: const Icon(Icons.edit),
                  color: edit ? Theme.of(context).buttonTheme.colorScheme?.onSurface : Theme.of(context).buttonTheme.colorScheme?.onSurface.withOpacity(.24),
                  onPressed: () {
                    if(widget.contentKey != null){
                      widget.contentKey!.currentState?.setState(() {
                        widget.contentKey!.currentState?.editing = !edit;
                      });
                    }
                    setState(() => edit = !edit);
                  }
                )
  
negative.code: 
  class EditContent extends StatefulWidget{
  
    final GlobalKey<StatefulCard> contentKey;
    final Widget content;
    final bool Function()? defaultEdit;
  
    final List<Widget> Function(BuildContext, bool)? extraButtons;
    final List<Widget> Function(BuildContext)? extraEditButtons;
  
    const EditContent({Key? key,
      required this.contentKey,
      required this.content,
      this.defaultEdit,
      this.extraButtons, 
      this.extraEditButtons}) : super(key: key);
  