     list = @entities.for(entity.group)
     for ent, idx in list
       list.splice(idx, 1) if entity == ent
+      @expireEntityCache()
 
 
   # Internal: Render a scene and all of its entities onto the main canvas

  draw: ->
    Kona.Canvas.clear()
    Kona.Canvas.ctx.drawImage(@background, 0, 0)
    ents = @entities.concat()
    for entity in ents
      if entity?
        entity.update() unless Kona.gamePaused

      y += Kona.Tile.tileSize


  # Internal: Return a cached Array[Kona.Entity] or compute it
  getEntities: ->
    if @entityCache.length
      @entityCache
    else
      @entityCache = @entities.concat()

  # Internal: Force the entity cache to be recomputed
  expireEntityCache: -> @entityCache = []


  # Internal: Remove an entity from its group.
  # Prefer `entity.destroy()` instead of calling this directly.
  #
