Abstraction of semaphore to a class
Merge conflict solved for semaphore abstraction.
Fixes autobackoff on windows