Выношу обсуждение своей работы над этой программой в отдельную ветку.