<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def prompt(self, message, text_input=False, timeout_s=None, cli_color=''):
 """Display a prompt and wait for a response. Args: message: A string to be presented to the user. text_input: A boolean indicating whether the user must respond with text. timeout_s: Seconds to wait before raising a PromptUnansweredError. cli_color: An ANSI color code, or the empty string. Returns: A string response, or the empty string if text_input was False. Raises: MultiplePromptsError: There was already an existing prompt. PromptUnansweredError: Timed out waiting for the user to respond. """

    self.start_prompt(message, text_input, cli_color)
    return self.wait_for_prompt(timeout_s)