 
       objects.invoke "trigger", "overlay", canvas
 
+  self.include(Bounded)
+
+  # The order of theses includes is important for
+  # the way in wich they modify the camera view transform
   self.include(Camera.ZSort)
   self.include(Camera.Zoom)
   self.include(Camera.Rotate)


  return self


  transformFilters = []

  focusOn = (object) ->
    dt = 1 / 30 # TODO: Use engine FPS
    dampingFactor = 2

    #TODO: Different t90 value inside deadzone?

    c = dt * 3.75 / I.t90
    if c >= 1
      # Spring is configured to be too intense, just snap to target
      self.position(target)
      I.velocity = Point.ZERO
    else
      objectCenter = object.center()
      objectVelocity = object.I.velocity
  
      if objectVelocity
        target = objectCenter.add(objectVelocity.scale(5))
      else
        target = objectCenter

      delta = target.subtract(self.position())

      force = delta.subtract(I.velocity.scale(dampingFactor))
      self.changePosition(I.velocity.scale(c).clamp(I.maxSpeed))
      I.velocity = I.velocity.add(force.scale(c))

  followTypes =
    centered: (object) ->              
