diff --git a/graffiti/graph/graph.go b/graffiti/graph/graph.go
index <HASH>..<HASH> 100644
--- a/graffiti/graph/graph.go
+++ b/graffiti/graph/graph.go
@@ -103,14 +103,14 @@ type graphElement struct {
 
 // Node of the graph
 type Node struct {
-	graphElement
+	graphElement `mapstructure:",squash"`
 }
 
 // Edge of the graph linked by a parent and a child
 type Edge struct {
-	graphElement
-	Parent Identifier
-	Child  Identifier
+	graphElement `mapstructure:",squash"`
+	Parent       Identifier
+	Child        Identifier
 }
 
 // Graph errors
diff --git a/js/runtime.go b/js/runtime.go
index <HASH>..<HASH> 100644
--- a/js/runtime.go
+++ b/js/runtime.go
@@ -392,6 +392,7 @@ func (r *Runtime) Exec(code string) (v otto.Value, err error) {
 	return v, err
 }
 
+// CallFunction takes the source of a function and evaluate it with the specifed parameters
 func (r *Runtime) CallFunction(source string, params ...interface{}) (otto.Value, error) {
 	result, err := r.Exec("(" + source + ")")
 	if err != nil {
@@ -431,6 +432,7 @@ func (r *Runtime) Start() {
 
 // Stop the runtime evaluation loop
 func (r *Runtime) Stop() {
+	r.stopEventLoop <- true
 }
 
 // NewRuntime returns a new JavaScript runtime environment
graph: allow to use mapstructure on nodes and edges