In the past versions we had a big problem. The plugin hooks were called multiple times, even when the old call wasn’t finished yet. Evil had the idea to add a dictionary with locks which will be released with a callback (i think it was like that :D).
I played a little bit with the code and created this:
Basically every method that doesn’t starts with “__” gets a lock.
What do you think?