switched to metadata oriented loading

still have to figure out the best way to re-generate metadata when we
update things. ditto for the now playing list.