Предлагаю пересмотреть стандартные макросы с целью ухода от статических полей для хранения промежуточных данных.
Возможно стоит предварительно сделать какие-то инструменты для упрощения работы со свойством UserData классов MangerClass-а и TypeBuilder-а?