import 'package:flutter/material.dart'; class AppBuilder extends StatefulWidget { const AppBuilder({Key key, this.builder}) : super(key: key); final Function(BuildContext) builder; @override AppBuilderState createState() => new AppBuilderState(); static AppBuilderState of(BuildContext context) { return context.ancestorStateOfType(const TypeMatcher()); } } class AppBuilderState extends State { @override Widget build(BuildContext context) { return widget.builder(context); } void rebuild() { setState(() {}); } }