     @instructionsMap.locate event.name, (i) =>
       @instructions[i].unlink()
 
-  transformStart: (event) ->+  renameInstruction: (event) ->
+    @instructionsMap.locate event.name, (i) =>
+      @instructions[i].name = event.new_name
+
+  transformStart: (event) ->

    else
      @previousState = new InputState(@)

    @reset() 
    @increment(to)

  increment: (to) ->

    transforms = Object.extended()

    @source.events.each (x, i) =>
      switch x.event
        when 'addInstruction'
          reducer.add x.name
          @events.add i
        when 'removeInstruction'
          reducer.exclude x.name
          @events.add i
        when 'updateInstruction', 'renameInstruction'
          @events.add i if reducer.any(x.name)
        when 'type', 'transformStart'
        else
