Booleans can sometimes get out of control. Use a state machine instead, with a few lines of code.
Video: http://vimeo.com/72470160