async def METHOD_NAME(self, timeout: float = 5.0) -> SharedType:
    """Wait for shared data to arrive."""
    await asyncio.wait_for(self._event.METHOD_NAME(), timeout)
    # We know self._data has a value here
    return typing.cast(SharedType, self._data)