How to 'store' email templates in the site?
It all depends on usage patterns of that feature.

For example if you only need one master template and edits are global (e.g apply to all events) then the "correct" storage could be inside the variable table.

You can expand on the above design by suffixing those variable keys with the node type (or whatever differentiates one template from another). So you could have entries such as:


mail_template_event
mail_template_publication
mail_template_press_release


or in the case of "typed" events:


mail_template_event_internal
mail_template_event_external
mail_template_event_generic


Keeping the mail template on a node field will be easier in terms of programming though. Because if you fetch the template from an "external" source (such as the variable table) you'll need to handle presentation within the node edit screen and update of the template in case it was altered.