Updates per review #20

Breaks out record and playback functions.
Eliminates button press callback race.
Logging, docstring cleanup.