 
 TUPLE: listener-gadget < track input output stack ;
 
-: listener-output, ( -- )
-    <scrolling-pane> g-> set-listener-gadget-output
-    <scroller> "Output" <labelled-gadget> 1 track, ;
+: listener-output, ( listener -- listener )
+  <scrolling-pane> >>output
+  dup output>> <scroller> "Output" <labelled-gadget> 1 track-add* ;
 
 : listener-streams ( listener -- input output )
     [ input>> ] [ output>> <pane-stream> ] bi ;

    f <model> swap set-listener-gadget-stack ;

: <listener-gadget> ( -- gadget )
    { 0 1 } listener-gadget new-track
    dup init-listener
    [ listener-output, listener-input, ] make-gadget ;

: listener-help ( -- ) "ui-listener" help-window ;

\ listener-help H{ { +nullary+ t } } define-command

: <listener-input> ( listener -- gadget )
    output>> <pane-stream> <interactor> ;

: listener-input, ( listener -- listener )
  dup <listener-input> >>input
  dup input>>
    { 0 100 } <limited-scroller>
    "Input" <labelled-gadget>
  f track-add* ;

: welcome. ( -- )
   "If this is your first time with Factor, please read the " print
