Refactor song component into a view