Moved songModel to functional class pattern. I kinda like it, but performance is probably awful