Converted Thread constructor to protected; creating a thread from a handle can be accomplished using static "FromHandle" function.
Added AutoResetEvent and ManualResetEvent types.