encrypt() and decrypt() now allows custom arguments to be passed to GPG.
General commenting + todos.