   #
   # Addition of a node will emit the `addNode` event.
   addNode: (id, component, metadata) ->
+    @checkTransactionStart()
+
     metadata = {} unless metadata
     node =
       id: id

    try
      # Graph exposed via Component packaging
      definition = require file
      exports.loadJSON definition, success
      return
    catch e
      # Graph available via HTTP


    @emit 'removeNode', node

    @checkTransactionEnd()

  # ## Getting a node
  #
  # Nodes objects can be retrieved from the graph by their ID:
