public function asText(bool $extended = false): string {
        $event = new OutputOpEvent($this, ['extended' => $extended]);
        $this->fireOperationEvent(OutputOpEvent::AS_TEXT_EVENT, $event);
        return $event->getResults();
    }