I'm working on a new framework for input. Based on my previous experiences, I decided to write a new one from scratch. In the past, I have used the observer pattern a lot. However, it turned out, once I added threading to the program, it complicated matters a lot.

If I don't use the observer patter, what alternative do I have? Callback events? What are you guys using?