Initially I wanted to write a "generic" mock writer, where you'd just need to change props/events and the writer would populate everything, maybe using inheritance. So I tried to make the code as generic as possible to experiment, but never really pushed it to the end. In the mean time my original code was copy/pasted instead ;)