приходится замороченно писать функции: следить за тем что бы не было лишних задержек (например если идет отсчет времени по программному таймеру то сначало его запустить, выставить соответствующий флаг, потом ждать пока он не отсчитает время опять по флагу, если время отсчитано выполнить другую часть кода, опять выставить флаги и т. д.), куча разных флагов чтобы повторно не обрабытывать в цикле уже выполенные шаги и т. п. А хотелось что нибудь по проще.