Collection update

Combined the CollectionSystem from the Collection branch with the one
done here (that contained various interaction methods)