       metadata: edge.metadata
       graph: @graph.properties.id
 
+  changeEdge: (edge) =>
+    @registerChange 'changeedge',
+      src:
+        node: edge.from.node
+        port: edge.from.port
+      tgt:
+        node: edge.to.node
+        port: edge.to.port
+      metadata: edge.metadata
+      graph: @graph.properties.id
+
   addInitial: (iip) =>
     @registerChange 'addinitial',
       src:

    @graph.on 'renameNode', @renameNode
    @graph.on 'addEdge', @addEdge
    @graph.on 'removeEdge', @removeEdge
    @graph.on 'addInitial', @addInitial
    @graph.on 'removeInitial', @removeInitial
    @graph.on 'addInport', @addInport

    @graph.removeListener 'renameNode', @renameNode
    @graph.removeListener 'addEdge', @addEdge
    @graph.removeListener 'removeEdge', @removeEdge
    @graph.removeListener 'changeEdge', @changeEdge
    @graph.removeListener 'addInitial', @addInitial
    @graph.removeListener 'removeInitial', @removeInitial
    @graph.removeListener 'addInport', @addInport
