Там это по необходимости сделано. В одном потоке квазимногозадачность сделана. Функция непрерывно в цикле вызывается а за макросами автомат состояний спрятан, который определяет, по какой ветви идти в каждом конкретном случае. Всё это здорово помогает если сам это написал и не успел забыть, как это работает. А если ни в зуб ногой, а комментов - кот на плакал?!