     @y =  0
     @z = 5
     @box = new Shapes.Rectangle(0x404040, @x, @y, @z, @width, @height)
+    @box.obj3d.userData = this
     @ve.scene.add(@box.obj3d)
     @count = 0
     @addBaseElements()


#Global event handlers
root.vz_mousedown = (event) ->
  g.ve.handle_mousedown(event)

#Global state holder
g = {}


  #addBaseElements adds the common base elements to the ElementBox
  addBaseElements: ->
    @addElement((box, x, y) -> new BaseElements.Controller(box, x, y, 5))
    @addElement((box, x, y) -> new BaseElements.Router(box, x, y, 5))
    @addElement((box, x, y) -> new BaseElements.Switch(box, x, y, 5))

#The Surface holds visual representations of Systems and Elements
class Surface
