abstraction layer for notifications
Redmine provides an email notification feature. These days email is only one channel for notifications. Many organisations switch to different messaging based architectures to notify users (chat, message hubs, ...) and phase out email.
Unfortunately redmine has no abstraction layer for creating the notification. Instead the email notification is rendered directly into an rfc mail body. This makes it very hard to implement plugins sending the same content to other systems since the plugin has to code the same thing again. Even worse: when using other plugins like "checklist" these notifications are not seen by any solution trying to route the notifiation to other channels.
In short: Please refactor notifications to an abstract implementation where mail is only one channel and which may support different markup outputs like html, md, plain text. Plugins should be able to hook in to add more notification events/contents or consume these events.