components and variables and the global classes are ofcourse way to go for re-usable values, parts and sections.
what you need depends on your workflow but for me I dont care bem you dont have to have that metodology for me its waste of time it only slows your development workflow. as long as your naming convention is semantic and logical it is good. bem helps people when they dont know nothing but that doesnt mean it has to be followed exacly.
every extra abstraction and workflow step you add on top of the native bricks builder will slow you down and it is cumulative.
this is why I love using existing native features classes, variables and components when they needed.
after slotable components comes it will be perfect for any global part/section needs.