Add optional callback to copy(), fix broken paste()

So I added the callback, fairly straightforward. While I was testing it noticed that the `paste()` function was broken, so I fixed that up as well. Everything working nicely in my simple command-line tests :thumbsup:

If merged, this should close #4.