     } cond ;
 
 M: button-pen draw-interior
-    button-pen dup [ draw-interior ] [ 2drop ] if ;
+    lookup-button-pen dup [ draw-interior ] [ 2drop ] if ;
 
 M: button-pen draw-boundary
-    button-pen dup [ draw-boundary ] [ 2drop ] if ;
+    lookup-button-pen dup [ draw-boundary ] [ 2drop ] if ;
 
 M: button-pen pen-pref-dim
     [


C: <button-pen> button-pen

: button-pen ( button pen -- button pen )
    over find-button {
        { [ dup { [ pressed?>> ] [ selected?>> ] } 1&& ] [
            drop pressed-selected>>

    ] [ vmax ] reduce-outputs ;

M: button-pen pen-background
    lookup-button-pen pen-background ;

M: button-pen pen-foreground
    lookup-button-pen pen-foreground ;

<PRIVATE

