 
 display_commands = (name, programs) ->
   signals = programs.get('signals')
-  my.assert signals, "no current signals"
   children = Object.keys(signals).map (command) -> 
     {
       _LABEL: command, name: command

    width: (world) ->  world.up.get('width') - 2*my.margin
  }

PROGRAM_AUTHORITY = $.extend {}, BUTTON_AUTHORITY # shallow copy
PROGRAM_AUTHORITY['selected'] = (world) ->
  return false unless world.up.get('selected')

    }
  {_LABEL: name, _AUTHORITY: BUTTON_AUTHORITY, _CHILDREN: children}
  
display_program = (name, children) ->
  children = children.all() unless _.isArray(children)
  children.unshift {name: name, fill: "white", stroke: "white"}
