Event logging and concurrency

- Change dictionary to be concurrent
- Add event logging
- Change folder structure slightly