     // Adds an array of components to this entity
     func addComponents(components: [GPComponent])
     {
-        self.components += components;
+        self._components += components;
         
         // Notify the game scene this entity has been modified
         self.gameScene?.entityModified(self);

    // Intenral method that adds a components to this entity
    private func internalAddComponent(component: GPComponent)
    {
        self.components += component;
    }
    
    // Internal method that removes components from this entity
    private func internalRemoveComponent(component: GPComponent)
    {
        self.components -= component;
    }
    
    // Returns whether the entity has the given component type inside of it
    func hasComponentType(type: GPComponent.Type) -> Bool
    {
        for comp in self.components
        {
            if(comp.isKindOfClass(type))
            {

    {
        var i:Int = 0;
        
        while(i < self._components.count)
        {
            if(self._components[i].isKindOfClass(type))
            {
                self._components.removeAtIndex(i);
            }
            else
            {
