moved some logic from the factory classes to the collada parser