The events about the spirits being angry and resulting hauntings are related to the witch, there are a few different times she will approach you about it.
Oh interesting. She doesn't cause them, she can only prevent them by letting you make a donation. But it is possible through the randomization that she won't visit you until it is too late. On second thought this is probably something I should tweak..
I'd like to note she also doesn't seem to prevent it either. For me she just takes 200 gold constantly (then a wooping 1000 gold when she sensed the spirits were getting angry) and I get the hauntings anyways.