Things to do:

- Allow user defined windows to remove (probably not for v1.0)

- Improve error handling

- Improve thread communication integrity

- Optimize memory allocation

- Speed up secondary thread processing

- Fix focus problems