Расширить поле для описания значения свойства типа файл

Случилось такое, что клиенту было недостаточно поля описания у свойства типа "Файл" с фотографиями - слишком мало текста помещается (ограничение в базе на 255 символов, тип VARCHAR), а работать с изображениями через медиабиблиотеку неудобно. Было принято решение дополнить текстовое поле описания более подробным полем. Вот так:
ab.png
То есть после нажатия на кнопку "Добавить описание" появляется не одно поле, а два - первое с помощью шаблона пойдет в alt и title к картинке, а второе будет подписью. 

Суть решения в работе с событиями OnAfterIBlockElementUpdate, OnBeforeProlog и OnEndBufferContent. 
Почему не кастомизация страницы редактирования элемента? Оказалось, что список файлов, представленный на картинке генерируется методом модуля fileman - кастомизировать его "легально" не получится - обновления затрут изменения. 
Таким образом суть решения заключается в добавлении своей таблицы, которая хранит ID значения свойства и подробное описание к этому свойству (картинке). 
С помощью OnEndBufferContent и регулярных выражений редактируем страницу, добавляя textarea рядом с полем ввода описания. 
Через событие OnAfterIBlockElementUpdate сохраняем введенные значения в нужной таблице. 
А в OnBeforeProlog подключаем простой скрипт, который показывает текстовые поля с детальным описанием для тех свойств, где не введено обычное описание (хотя это можно было сделать и в OnEndBufferContent, но так проще и быстрее).