complete draft ThreadWithMsgQueue class and test