class ResponseBuffer: def __init__(self): self._text = "" self._observers = [] def add_observer(self, callback): self._observers.append(callback) def get_text(self): return self._text def append_text(self, text): self._text += text self._notify_observers() def set_text(self, text): self._text = text self._notify_observers() def clear(self): self._text = "" self._notify_observers() def _notify_observers(self): for observer in self._observers: observer(self._text)