use callback functions instead of one giant switch/case
simplify song view updater
separate song view and controller
immediately update song view on page load
separate playlist controller
implement playlist view controller