Change hideIfNeeded to setCorrectVisibility

Since lessons are updated in-place the hidden items must be
shown again if needed when the old data is replaced by new data.