Changing a few hard coded strings to internal constants
Adding an optional name property to connections in order to assist with debugging
The serializer & deserializer now take 'key' and 'collection, key' parameters. This makes it easier to customize the serialization & deserialization routines based on the key or collection.