Manual merge refactor from 'master'

Fix Countdown.Decrement to never go to negative

Add test cases