 
     @_attach @_getOrCreateCanvasElement options
     @engineStat = new EngineStat
-    @_dirtyDrawArea = null
+    @_dirtyDrawAreas = null
 
     @pointerEventManager = new PointerEventManager canvasElement:@
     self.canvasElement ||= @


    false

  # eventually this will only mark an area as needing drawing rather than the whole screen.
  # NOTE: For geometry changes, this gets called twice for the same element:
  #   once before and once after it "moves"
  #   As such, if we are invalidating rectangular areas, we need to do it immediately with each call.

  ###############################################

  draw: ->

    Element.resetStats()
    frameStartTime = currentSecond()
