A lot of these elements have states... on/off, opened/closed, etc.

Views

We typically see these as static layouts, going from one to the next...

Homepage

List views

User views Table views

Column views

Settings

... instead, try to reuse view elements to become other views ☺ This takes a bit of planning.