Implement Song.fromJSON and simplify data structure

+ Intensive usage of collection.get(id)