Initial projector thread class and some cleanups