Moved Recording related code into separate class called "Recorder". Activity can now be focused on controlling UI and responding appropriately to errors.