Extends StatelessWidget because all state is handled by its parent.

When a tap is detected, it notifies the parent.

A mix-and-match approach

For some widgets, a mix-and-match approach makes
the most sense. In this scenario, the stateful widget
manages some of the state, and the parent widget
manages other aspects of the state.

The _ParentWidgetState object:

Manages the _active state.

Implements _handleTapboxChanged(),
the method called when the box is tapped.

Calls setState() to update the UI when a tap
occurs and the _active state changes.

The _TapboxCState object:

Manages the _highlight state.