Huge refactor of the collections class to extract the code of the public collections from collection (one less Frankenstein)