updateRearViewVisibilityForFrontViewPosition: should update self.state the same way updateRearViewVisibility does.  Otherwise, the timing is off for the willChangeToState/didChangeToState calls to the delegate.