Explain what Flutter is, focusing on its ability to create cross-platform applications with a single codebase.
Describe what a widget is in the context of Flutter and how everything in a Flutter app is a widget.
Describe the concept of InheritedWidget and its importance in widget tree for propagating information efficiently.
Discuss how to navigate between screens/pages in Flutter using the Navigator class and routes, including both named and unnamed routes.
Describe the concept of streams for handling asynchronous events, and how you can use them for building reactive applications with Flutter.