     { T{ button-down } [ elevator-click ] }
 } set-gestures
 
-: elevator-theme ( elevator -- )
-    lowered-gradient swap set-gadget-interior ;
-
 : <elevator> ( vector -- elevator )
-    elevator new-gadget
-    [ set-gadget-orientation ] keep
-    dup elevator-theme ;
+  elevator new-gadget
+    swap             >>orientation
+    lowered-gradient >>interior ;
 
 : (layout-thumb) ( slider n -- n thumb )
     over gadget-orientation n*v swap slider-thumb ;

  dup elevator>> over thumb>> add-gadget
  @center grid-add* ;

: <left-button> ( -- button )
    { 0 1 } arrow-left -1 <slide-button> ;

: <right-button> ( -- button )
    { 0 1 } arrow-right 1 <slide-button> ;

: <up-button> ( -- button )
    { 1 0 } arrow-up -1 <slide-button> ;

: <down-button> ( -- button )
    { 1 0 } arrow-down 1 <slide-button> ;

: <slider> ( range orientation -- slider )
    slider new-frame

    swap slider-max* 1 max / ;

: slider>screen ( m scale -- n ) slider-scale * ;
: screen>slider ( m scale -- n ) slider-scale / ;

M: slider model-changed nip slider-elevator relayout-1 ;
