Refactored state changes into coroutines instead of conditionals in update.  More like an event rather/state change.