The thing that I was thinking we could do is this:
```c++
      case START_TAG_CLASS:
        if( !css_classes ) {
          webvtt_create_stringlist( &css_classes );
        }
        status = webvtt_cuetext_tokenizer_start_tag_class_state( position, &token_state, css_classes );
        break;
```
That's really the only place we can know for sure we need it. If we do it this way though it will be hitting that if statement often sometimes. We could do a similar thing with annotation.