SING-109: Refactored song.js to not suck.