Moved State's internal event handling to State::handleEvents