Extracted recording work into its own class called Recorder.