Initial release

Merged Hilzer's Barbershop problem to the synchronization framework
Revert "Initial release"

This reverts commit 260ef986d0374908c1046534407db6cf94622b0a.
Revert "Revert "Initial release""

This reverts commit 4180e05748318bbbb4033fcfd0ef4ebf6fd1fe94.