Optional: section expansion state (when null, uses in-memory state).
final bool Function(String sectionId)? isSectionExpanded;