Re-implement put using abstracted libraries.

Closes #71.