 
     /// Detach creates a DetachedEntity struct which can be changed without informing the managing context about the changes.
     /// This is meant for multithreading, when you need to make heavy computations on a secondary thread and than sync back the changes to the entity on the main thread.
-    /// Important to note that detached entity is not aware of changes that might happen to the entity after it was created. Therefor on sync, detached entity might overwrite the changes which happened to the entity between 'detach' and 'sync' calls.
-    /// As DetachEntity is a struct, every call of this getter will create a new instance. It is up to you to make sure that you don't have concurent detached entities.
+    /// Important to note that detached entity is not aware of changes that might happen to the entity after it was created. Therefore on sync, detached entity might overwrite the changes which happened to the entity between 'detach' and 'sync' calls.
+    /// As DetachEntity is a struct, every call of this getter will create a new instance. It is up to you to make sure that you don't have concurrent detached entities.
     public var detach : DetachedEntity {
         get {
             return DetachedEntity(entity: self, components: _components, changedComponents: [:])

        return nil
    }

    /// Checks if entity already has a somponent of following component type.
    public func has<C:Component>(ct:C.Type) -> Bool {
        return hasComponent(cId(ct))
    }

        }
        changedComponents.removeAll(keepCapacity: false)
    }
}
