Did some work on integrating everything in a separate thread.
Performance is alarmingly bad