The bottom sheet part of this recipe should be pretty simple to understand, but what's going on with that error? Why did showing the bottom sheet initially fail? Take a look at how we organized the widget tree for the stopwatch screen:
Bottom sheets are a little different than Dialogs in that they are not full routes. For a bottom sheet to be presented, it attaches itself to the closest Scaffold in the tree using the same of-context pattern to find it. The problem is that the BuildContent class that we've been passing around and storing as a property on the StopWatchState class belongs to the top-level StopWatch widget. The Scaffold widget that we're using for this screen is a child of StopWatch, not a parent.
When we use BuildContext in the showBottomSheet function, it travels upward from that point to find the closest scaffold. The problem is that there aren't any scaffolds...