Playback code for #10

TODO:

  * Add context managers for easier use
  * Update docs