cipherText -> ciphertext; changed parameter to error callback to be object; returned ciphertext in getPayload so consumers can use it (cache it for example)