¿Cómo establecer el estado desde otro widget?

Estoy tratando de cambiar el estado de un widget diferente en Flutter. Por ejemplo, en el siguiente ejemplo configuro el estado después de unos segundos.

Aquí está el código para eso:

class _MyAppState extends State<MyApp> {

  int number = 1;

  @override
  void initState() {
    super.initState();
    new Future.delayed(new Duration(seconds: 5)).then((_) {
      this.setState(() => number = 2);
      print("Changed");
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Center(
        child: new FlatButton(
          color: Colors.blue,
          child: new Text("Next Page"),
          onPressed: () {
            Navigator.of(context).push(new MaterialPageRoute(
              builder: (BuildContext context) => new StatefulBuilder(builder: (BuildContext context, setState) =>new MySecondPage(number))
            ));
          },
        ),
      ),
    );
  }
}

Intenté usar unInheritedWidget, pero eso no funcionará a menos que lo ajuste alrededor de mi widget de nivel superior, lo que no es factible para lo que estoy tratando de hacer (el código anterior es una simplificación de lo que estoy tratando de lograr).

¿Alguna idea sobre cuál es la mejor manera de lograr esto en Flutter?

Respuestas a la pregunta(1)

Su respuesta a la pregunta