Шаман, как обычно, смотрит в корень - то, что события могут формироваться в разных потоках, не мешает обрабатывать их в каком-то одном потоке.
Использование SysFile и других библиотек с синхронными вызовами - действительно довольно простой способ получить "неприличные задержки".Если чтение I/O сложить в один поток с логикой, получатся неприличные задержки.
Для большинства библиотек есть асинхронные варианты - например, в случае файлов это библиотека CAA File.