Added response type
Used Nothing to indicate a notification
Added conversion to and from ByteString
Simplified type signatures
Added functions for creating errors