Add component sorting to _interpolateComponents function.

Okay, this is much better.
It does not mess with the previous code, now this addition simply records the order of the incoming components and sorts the list of newComponents following the old list before returning it.