Observations

Calling a widget’s setState() method tells Flutter that the
widget needs to be updated on screen.
The framework then disposes of the previous immutable widget
(and its children), creates a new one
(with its accompanying child widget tree),
and renders it to screen. For this to work seamlessly,
Flutter needs to be fast.
The new widget tree must be created and rendered to screen
in less than 1/60th of a second to create a smooth visual
transition—especially for an animation.
Luckily Flutter is fast.