<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Page(self, text=None, show_percent=None):
 """Page text. Continues to page through any text supplied in the constructor. Also, any text supplied to this method will be appended to the total text to be displayed. The method returns when all available text has been displayed to the user, or the user quits the pager. Args: text: A string, extra text to be paged. show_percent: A boolean, if True, indicate how much is displayed so far. If None, this behaviour is 'text is None'. Returns: A boolean. If True, more data can be displayed to the user. False implies that the user has quit the pager. """

    if text is not None:
      self._text += text

    if show_percent is None:
      show_percent = text is None
    self._show_percent = show_percent

    text = LineWrap(self._text).splitlines()
    while True:
      # Get a list of new lines to display.
      self._newlines = text[self._displayed:self._displayed+self._lines_to_show]
      for line in self._newlines:
        sys.stdout.write(line + '\n')
        if self._delay and self._lastscroll > 0:
          time.sleep(0.005)
      self._displayed += len(self._newlines)
      self._currentpagelines += len(self._newlines)
      if self._currentpagelines >= self._lines_to_show:
        self._currentpagelines = 0
        wish = self._AskUser()
        if wish == 'q':         # Quit pager.
          return False
        elif wish == 'g':       # Display till the end.
          self._Scroll(len(text) - self._displayed + 1)
        elif wish == '\r':      #  Enter, down a line.
          self._Scroll(1)
        elif wish == '\033[B':  # Down arrow, down a line.
          self._Scroll(1)
        elif wish == '\033[A':  # Up arrow, up a line.
          self._Scroll(-1)
        elif wish == 'b':       # Up a page.
          self._Scroll(0 - self._cli_lines)
        else:                   # Next page.
          self._Scroll()
      if self._displayed >= len(text):
        break

    return True