         }
         changedComponents.removeAll(keepCapacity: false)
     }
-}+}

        }
    }
    
    /// Lets you itterate through all components in the entity.
    public var components : SequenceOf<Component> {
        get {
            return SequenceOf(_components.values)



// _EntityChangedListener is introduced to be an internal access protocol which Context implements.
// We avoid EntityChangedListener as it is public and therefore would pollute Context API.
protocol _EntityChangedListener : class {
    func componentAdded(entity: Entity, component: Component)
    func componentRemoved(entity: Entity, component: Component)
