If I remove either of the breaks it seems to just hang (or loop infinitely).
I'm starting to think my logic is off a bit here. I think I've been looking at it for too long.