async def METHOD_NAME(self):
    """Awaitable coroutine for widget."""
    self._debug_out("await_widget entered\n")
    self._create_button_callbacks(self._buttons)
    self._debug_out("buttons set\n")
    done, _ = await asyncio.wait(
        [self._wait_for_button_change(), self._await_timer(self.timeout)],
        return_when=asyncio.FIRST_COMPLETED,
        timeout=self.timeout + 5,
    )
    self._debug_out("wait returned\n")
    self._completion = done
    self._debug_out(str(done))
    return done