code: def _normalize_keys(self, data):
          
          encode = self.encoder.encode
          decode = self.encoder.decode
          return {decode(encode(k)): v for k, v in iteritems(data)}
docs: normalize channel/pattern names to be either bytes or strings
          based on whether responses are automatically decoded. this saves us
          from coercing the value for each message coming in.