Completed recording code, partial completion of #10
Playback code for #10

TODO:

  * Add context managers for easier use
  * Update docs