separate mp3 encoder into its own interface