Add error definitions
Add default Reader and Writer implementations
Add NewReadWriter
Add the WriteString utility function