         o = i % 2
         e = 1 - i % 2
 
-        triangle = new Triangle(@, getVector(x, y + deltaY * o), getVector(x + deltaX / 2, y + deltaY * e), getVector(x + deltaX, y + deltaY * o))
-        @triangles.push triangle
+        triangle = getTriangle x, y + deltaY * o, x + deltaX / 2, y + deltaY * e, x + deltaX, y + deltaY * o
         @stage.addChild triangle.graphics
 
-        triangle = new Triangle(@, getVector(x + deltaX / 2, y + deltaY * e), getVector(x + deltaX, y + deltaY * o), getVector(x + 3 * deltaX / 2, y + deltaY * e))
-        @triangles.push triangle
+        triangle = getTriangle x + deltaX / 2, y + deltaY * e, x + deltaX, y + deltaY * o, x + 3 * deltaX / 2, y + deltaY * e
         @stage.addChild triangle.graphics
 
     return # To not have CoffeeScript return a result of for loop

  generateTriangles: =>
    return unless @renderer

    getVector = (x, y) =>
      key = "#{ x },#{ y }"
      @vectors[key] ?= new Vector x, y
      @vectors[key]

    originX = -200
    originY = -200


    # To make sure memory is released
    @stage = null
    @triangles = {}
    @vectors = {}

  render: =>
