Use UUID
Refactoring: {PausableThread->SignalingThread}