Decode and process the data from a received event.

        :param data: Data to decode and process.

def decode_recvd(self, data):
        """
        Decode and process the data from a received event.

        :param data: Data to decode and process.
        """
        bits = data.split(':')
        if len(bits) == 2:
            key = self.keycheck.sub('_', bits[0])
            fields = bits[1].split("|")
            field_count = len(fields)
            if field_count >= 2:
                processor = self.processors.get(fields[1])
                if processor:
                    if self.debug:
                        print "got key: %s %r" % (key, fields)
                    processor(key, fields)
                else:
                    print "error: unsupported stats type"
                    print "key -> %s\nfields ->%s" % (key, fields)
            else:
                print "error (%s): not enough fields received" % key
        else:
            print "error: invalid request [%s]" % data[:40]