Хранение истории шаблонов рассылок

Достаточно часто у некоторых рассылок в проекте необходимо менять шаблон (например, при смене дизайна сайта), но сами рассылки при этом должны оставаться теми же самыми, что и раньше — рассылки о регистрации, восстановлении пароля и т. п.
Например, для смены дизайна рассылки EmailConfirmationDuringRegistration заводилась рассылка с другим именем EmailConfirmationDuringRegistration_New, рассылка EmailConfirmationDuringRegistration переименовывалась в EmailConfirmationDuringRegistration_Old, а рассылка EmailConfirmationDuringRegistration_New — в EmailConfirmationDuringRegistration.
Это было просто адски чертовски неудобно и всех раздражало, поэтому (на самом деле не только поэтому) решили внести в шаблоны рассылок важный функционал — хранение истории шаблонов рассылок.
Что это такое?
Теперь при обновлении рассылки старый шаблон не перезатирается новым, а складывается в архив шаблонов рассылки. Все письма, которые были отправлены со старым шаблоном — не удалятся, а останутся привязаны к старому шаблону (соответственно, останется вся статистика по отправкам).
Важно! Если какие-то письма при этом были в очереди, то применяется специальная логика — если параметры в новом шаблоне используются те же, что и в старом, или какие-то перестали использоваться (но никакие новые не начали использоваться), то письма в очереди отправятся с новым шаблоном. В противном случае письма будут отправлены со старым шаблоном.
При этом для упрощения никакого интерфейса для работы с историей шаблонов и статистикой не предусмотрено — всегда показывается актуальные шаблон и статистика по переходам по ссылкам. Тепловая карта отображается также для актуального шаблона и ссылок в актуальном шаблон.
Котик доволен нововведениями
2014-03-28_1436_1