If you're in trouble and cannot find an answer to a question which goes beyond Stack Overflow...
If you have a not-so-usual solution for your problems but need to justify it to your boss...
If you like to think on your own rather than blindly follow "common wisdom" and "profound truth"...
...then 'No Bugs' Hare on Soft.ware might be the right place for you.
Your mileage may vary. Batteries not included

TBH, I am a big fan of actor- and reactor-like programming patterns (also known as Finite State Machines. While you’re not strictly required to use reactors and might be able to get away without them – they DO provide several very substantial benefits.

(Re)Actors, page 1:

Bringing Architecture of Operating Systems to XXI Century – Part II. Desirable Improvements

Quote: “low-end versions of the new OS should be lean enough to run on a ~$1 MCU (these days ~=4K RAM, 32K ROM)”
Another Quote: “last N minutes of the life of the production program before crashing, should be replayable on my development box.”
[]

Bringing Architecture of Operating Systems to XXI Century – Part I. Changes in IT Over Last 50 Years

Quote: “we’re using operating systems which were designed whopping 40-50 years from now”
Another Quote: “Do not communicate by sharing memory; instead, share memory by communicating.”
[]

Allocator for (Re)Actors with Optional Kinda-Safety and Relocation

Quote: “‘Safe with relocation’ mode will allow us to eliminate dreaded ‘external fragmentation’ – which tends to cause quite a bit of trouble for long-running systems”
Another Quote: “For a long while, I have been a strong proponent of message-passing mechanisms over mutex-based thread sync for concurrency purposes”
[]