reduce complexity by removing all mention of threads
strengthen constness of immutable parameter
clarify test flag enum
remove redundant assert
update TODO
implement threadless state management strategy
Merge branch 'nothreads'