Broken -- Using While Loops
Cleaned Code and Removed While Loops - Broken
Semi Working Solution
Working Solution -- Deadlock not fully checked
Cleanup
Fix for race condition
Final Commit