Components are the building blocks of the page, they can have many properties, different versions, and different behaviors between different pages.

1. Components Properties (or Stories)

The customization of the content displayed inside the component without touching the code can be done using "stories" (read more on the concept at storybook).

A component can apply multiple stories at the same time.
For example, if you have NavBar component, you need to be able to change the following properties inside the page:
- Logo
- Links
- Selected Link

2. Components Versions

A Component can have many versions depending on the structure or the complexity.
Changing between versions allows you to do the following:

- Test new features without breaking your website.
- Group components with a role distinction (think about Buttons and Dropdown)
- Switch between components with a single click inside the page
- Apply the same properties (stories) to multiple versions