Flutter: types of widgets
Widgets are an immutable description of part of a user interface. A widget is a widget that does not require mutable state. State is information that can be read synchronously when the widget is built and might change during the lifetime of the widget. Inherited widgets will cause the consumer to rebuild when the inherited widget itself changes state.