Reorganisation.
Run as integration or unit tests.
Improved error handling around invalid server configurations.
Lots of bug fixes around events being emitted.