Note: When using encryptionKeys, confirmation redirects feel a bit
sluggish. This could probably be 'improved' by calling sendMail via
setTimout or fixed by moving sendMail to a worker.
Sending emails moved completely to controller. It felt strange to have some emails sent from the controller and some of them from the model.
Confirmations refactored to an independent model that can be potentially used also for other actions that need an email confirmation.