Polling threads and stronger parameter checks in runFsmThreads