If some data does form a manifold, then you just need to learn one continuous function per class. If it doesn't, then you need to learn several functions for different continuous regions per class. You need many more parameters to fit data that is fragmented essentially. "Separating tangled manifolds" is really learning the functions for each manifold. ( I may be off base here, the material is not fresh in my mind )