"Некрасиво" следует понимать в данной ситуации как не читабельно. Куча глобальных переменных как рассыпанные шарики. Отследить трудно. Воспринять еще труднее. Действительно, как заметилИлья Ермаковупаковать всю систему в запись - будет и понятнее и проще работать.
Я сейчас допишу код модуля и выложу тут. Так сказать, на суд общественности. Буду крайне признателен за комментарии и исправления.