Should setAttribute be limited to the attributes the ConnectionType was declared with?
Otherwise, you could have different Connections of the same ConnectionType with a string/boolean/integer for a given attrName.