clean up id3 extraction code and prepare for event marshalling