Do not do so. Better is:
```python
@step('Captions are (.+) after (.+) seconds$')
def are_captions_visibile(_step, visibility_state, timeout):
    _step.given('Captions become {0} after {1} seconds'.format(visibility_state, timeout))
```
But I prefer to use next matcher that will include both above:
```python
@step('Captions (?:are|become) (.+) after (.+) seconds$')
def check_captions_visibility_state(_step, visibility_state, timeout):
    timeout = int(timeout.strip())

    # Captions become invisible by fading out. We must wait by a specified
    # time.
    world.wait(timeout)

    if visibility_state == 'visible':
        assert world.css_visible('.subtitles')
    else:
        assert not world.css_visible('.subtitles')
```