restructuring recorder to be recorderandplayer. decoupling horecord objects a little more