         sprite.call 'commit', coordinates
 
     apply: (world, args) ->
-      {target, action, instruction} = args
+      {target, action, action} = args
       console.log "programs apply: #{world}, {#{target}, #{action}}"
       console.log "edit: #{sprite.get 'editing'} -> #{world.get 'editable'}"
       return unless world.get 'editable'      

# A Program is a sequence of Commands
# A Command is a word in the Language
# A Language is a dictionary of Commands and Actions
# An Action is a method-key-value triplet (instruction, signal)
#
# Role: create and run a single program
#


    store: (world, action) ->
      console.log "programs store: #{world}, {#{action}}"
      actions_container = world.find_child('actions')
      actions_container.add_child action
  }

  program_row = (name, contents) ->
    program = make.columns name, [
      { _LABEL: 'program_name', name: name }
      make.buttons("action", contents, my.command)
    ]
    my.extend program, program_behavior()

