However it is still a mystery to me why it did work before when running stand-alone and not with express.
the same for me, as i say it depends on how the project is organized, so it is difficult to me to guess what was the problem.
The issue with the reserved names only applies when you use the helper names as function names. If you can use the registerHelper function directly, you can use reserved names as helper names. This feels more natural for the template code.
good, as long as you don't get a weird error it is fine.
I would also like to put these helper function in a separate file, to make it easier to reuse them in different templates.
you can put the functions in an asset and then reference them in the helpers section. you just need to read the docs to know how it works.
Using this for keeping the switch value is taken from an example for adding a switch / case construct to handlebars:
https://github.com/wycats/handlebars.js/issues/927
Would there be another way to do this?
no clue, i did not dive too depth in the logic, but if it is recommended by another handlebars users i guess you are fine, no need to find other way.