File system based event store

I'm tinkering with a Cirqus project where I need an embedded event store on Windows. Here's an implementation that uses the guarantees of ntfs to store events as single files with a separate commit log and index. 

It's not particulaly fast at the moment (but not too slow either), but I have some ideas for improving that.