fix missing collection update while exchanging components

add exchange component test
remove comments